当主qml包含子qml时,分静态加载qml和动态加载qml,其中动态加载qml可以按需加载qml资源,避免子qml资源加载过长时,影响主qml整体加载性能。
1.静态加载qml
Window {
property bool bBtnPressed: false
width: 640
height: 480
visible: true
title: qsTr("loader测试")
LoaderPage{
id:page
anchors.top: parent.top
anchors.topMargin: 100
anchors.left: parent.left
anchors.leftMargin: 50
}
}
2.动态加载qml
Window {
property bool bBtnPressed: false
width: 640
height: 480
visible: true
title: qsTr("loader测试")
Rectangle {
width: 400
height: 50
anchors.top: parent.top
anchors.topMargin: 20
anchors.left: parent.left
anchors.leftMargin: 200
Row {
spacing: 5
anchors.fill: parent
Button {
text: bBtnPressed ? qsTr("动态卸载") : qsTr("动态加载")
onClicked: {
bBtnPressed = !bBtnPressed;
if (bBtnPressed){
loadPage.source = "LoaderPage.qml"
}else{
loadPage.source = "";
}
}
}
}
}
Loader {
id: loadPage
anchors.top: parent.top
anchors.topMargin: 100
anchors.left: parent.left
anchors.leftMargin: 200
}
}