Wer*_*lik 8 qt dynamic qml qtquick2
我有一个id
我需要在QML树中找到的对象字符串.例如:
var idToFind = "myBtnId"
Run Code Online (Sandbox Code Playgroud)
我可以做以下的事情吗?
var objectThatINeed = myMainWindow.findObjectById(idToFind)
Run Code Online (Sandbox Code Playgroud)
据我所知,我可以objectName
用于此目的(至少从C++开始).我可以在id
不引入名称的情况下以某种方式重用现有的吗?
我想将此对象用作其他动态创建的控件的父对象.
如果您事先知道所需的所有项目的 ID,则可以为它们创建一个对象映射并使用它来查找它们。例如:
Item {
property var idMap: ({ foo:foo, bar:bar })
Rectangle { id:foo }
Item { id:bar }
function findItemById(id) {
return idMap[id];
}
Component.onCompleted: console.log(findItemById('foo'), findItemById('bar'))
// qml: QQuickRectangle(0x1479e40) QQuickItem(0x148fbf0)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8302 次 |
最近记录: |