使用動態建立的 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