我正在使用QML语言开发SailfishOS的应用程序。
我想使用id
条件动态设置Label的if
属性。
这是我的代码:
Label {
id: {
if(myBool == false) {
thisText()
} else {
notThatText()
}
}
width: parent.width
horizontalAlignment: Text.AlignRight
text: ""
font.pixelSize: Theme.fontSizeLarge
}
此代码放在我的CoverPage.qml
文件中,该文件在后台显示应用程序封面上的内容。
通过这样做,封面只是黑色,没有任何显示。
QML可以这样做吗?
提前致谢!
答案 0 :(得分:1)
Qt doc说明了这一点。
While it may look like an ordinary property, the id attribute is not an ordinary property attribute, and special semantics apply to it;
您无法在运行时设置QML组件的ID。(如果我错了,请纠正我)。您可能会发现objectName
属性很有用。但我不明白为什么你要分配动态id。
答案 1 :(得分:0)
我有一个使用动态/特定ID可能有用的用例。该ID可以使用Gammaray查看,它可以帮助调试。
GridLayout {
id: layout
Repeater {
model: foo
Bar {
id: bar_X_Y // bar_{model.row}_{model.column}
}
}
}
但是据我所知,这是不可能的。