import QtQuick
import QtQuick.Controls
Window {
id:mainWnd
width: 640
height: 480
visible: true
title: qsTr("StackView")
property var page1
property var page2
property bool bPage1: false
Component.onCompleted: {
let comp = Qt.createComponent("Page1.qml");
if(comp.status === Component.Ready)
page1 = comp.createObject(mainWnd);
else
console.log(comp.errorString())
comp = Qt.createComponent("Page2.qml");
if(comp.status === Component.Ready)
page2 = comp.createObject(mainWnd);
page1.visible = Qt.binding(()=>{return bPage1});
page2.visible = Qt.binding(()=>{return !bPage1});
}
MouseArea{
anchors.fill: parent
onClicked:{
bPage1 = !bPage1
}
}
}
Page1.qml:
import QtQuick
Rectangle{
anchors.centerIn: parent
width:100
height: 100
color: "red"
}
Page2..qml:
import QtQuick
Rectangle{
anchors.centerIn: parent
width: 100
height: 100
color: "steelblue"
}
QML动态绑定与页面切换组件生成
2475

被折叠的 条评论
为什么被折叠?



