QML的Loader元素经常备用来动态加载QML组件。可以使用source属性或者sourceComponent属性加载。这个元素最有用的地方是它能在qml组件需要的时候再创建,即延迟创建QML的时间。
一、
main.qml
------------------------------------
import QtQuick 1.0
Item {
property bool isFirst : false;
width: 200
height: 200
Loader {
id: pageLoader
}
MouseArea {
anchors.fill: parent
onClicked: changePage();
}
function changePage() {
if(isFirst) {
pageLoader.source = "Page1.qml"
} else {
pageLoader.source = "Page2.qml"
}
isFirst = !isFirst;
}
}
Page1.qml
-------------------------------------
import QtQuick 1.0
Rectangle {
width: 100
height: 62
Text {
anchors.centerIn: parent
text: "Page1 Test"
}
}
Page2.qml
---------------------------------------
import QtQuick 1.