是否可以区分设置为静态值的属性与绑定到其他值的属性之间的区别?我检查了文档,但没有看到任何有关此的信息。
Rectangle {
id: firstRect
color: "black" // set to static value
}
Rectangle {
color: firstRect.color // bound to external value
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,我可以检测到第一个矩形颜色是静态值,而第二个矩形颜色是绑定的吗?
我认为您所追求的是私有静态方法:QQmlPropertyPrivate::binding()。例如,这里是一些使用它的QtQuick Designer 代码。
从技术上讲,在 Qt 私有部分中,我不确定这是否有帮助。有趣的是,Qt::QML Type有一个Qt.binding()用于分配绑定的函数(并且显然在幕后调用上述私有方法)。还有 QMLBinding类型。但在这两种情况下,我都没有找到一种方法来获取现有绑定的实例(QAbstractBinding但在这两种情况下,我都没有找到一种方法来获取已分配给属性
回应一些评论:通过 Qt 元对象系统,您可以找到连接到属性通知器信号的内容。但要做到这一点,你需要知道所讨论的 QML 属性绑定到(或不绑定到)的QObject和......这让我们回到第 1 方,我相信(找出该属性绑定到什么,如果有的话) QMetaProperty)。
| 归档时间: |
|
| 查看次数: |
1306 次 |
| 最近记录: |