使用动态创建的 QML 文件创建绑定
当通过直接声明它们来使用 QML 文件的实例时,每个 property
都会创建一个绑定。这在上面的例子中解释。
这是动态创建组件的方式:
var component = Qt.createComponent("Popup.qml");
var popup = component.createObject(parent, {"width": mainWindow.width, "height": mainWindow.height});
当 mainWindow
的大小发生变化时,创建的 PopUp
的大小不会受到影响。要创建绑定,你可以像这样设置 popup
的大小:
var component = Qt.createComponent("Popup.qml");
var options = {
"width": Qt.binding(function() { return mainWindow.width }),
"height": Qt.binding(function() { return mainWindow.height }),
};
var popup = component.createObject(parent, options);
现在 PopUp
的大小将取决于 mainWindow
。