如何从其名称作为字符串访问 qml 属性?
How to access a qml property from its name as a string?
我的问题与 非常相似,除了我想访问根目录 属性...
我希望能够做到这一点:
Rectangle {
property string color1: "blue"
property string color2: "red"
property string curColor : "color1"
color: /*something like*/ currentScope[curColor]
}
注意:这是一个 MWE,我知道在这种情况下有更聪明的方法。我的用例是提供一个简单易用的适配器,它需要知道它必须作用于哪个属性。我知道 Binding,但它需要和 id...我想避免使用显式 id 并在当前范围内工作。
您只需为您的 Rectangle
提供一个 ID,以便您可以引用它。
Rectangle {
id: root
property string color1: "blue"
property string color2: "red"
property string curColor : "color1"
color: root[curColor]
}
更新:
要在没有 id 的情况下执行此操作,您可以使用 this
指针。它在documentation,但不容易找到。
Rectangle {
property string color1: "blue"
property string color2: "red"
property string curColor : "color1"
color: this[curColor]
}
我的问题与
我希望能够做到这一点:
Rectangle {
property string color1: "blue"
property string color2: "red"
property string curColor : "color1"
color: /*something like*/ currentScope[curColor]
}
注意:这是一个 MWE,我知道在这种情况下有更聪明的方法。我的用例是提供一个简单易用的适配器,它需要知道它必须作用于哪个属性。我知道 Binding,但它需要和 id...我想避免使用显式 id 并在当前范围内工作。
您只需为您的 Rectangle
提供一个 ID,以便您可以引用它。
Rectangle {
id: root
property string color1: "blue"
property string color2: "red"
property string curColor : "color1"
color: root[curColor]
}
更新:
要在没有 id 的情况下执行此操作,您可以使用 this
指针。它在documentation,但不容易找到。
Rectangle {
property string color1: "blue"
property string color2: "red"
property string curColor : "color1"
color: this[curColor]
}