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