QML:对象实例化
QML: object instantiation
有没有一种方法可以使 Component.createObject's 第二个参数(初始属性)与 Loader
元素类似?我在 onLoaded
中手动设置属性,但这具有稍微不同的语义。
使用setSource()
:
// example.qml
import QtQuick 2.0
Item {
Loader {
id: squareLoader
onLoaded: console.log(squareLoader.item.width);
// prints [10], not [30]
}
Component.onCompleted: {
squareLoader.setSource("ExampleComponent.qml",
{ "color": "blue" });
// will trigger the onLoaded code when complete.
}
}
有没有一种方法可以使 Component.createObject's 第二个参数(初始属性)与 Loader
元素类似?我在 onLoaded
中手动设置属性,但这具有稍微不同的语义。
使用setSource()
:
// example.qml
import QtQuick 2.0
Item {
Loader {
id: squareLoader
onLoaded: console.log(squareLoader.item.width);
// prints [10], not [30]
}
Component.onCompleted: {
squareLoader.setSource("ExampleComponent.qml",
{ "color": "blue" });
// will trigger the onLoaded code when complete.
}
}