在Qt Design Studio中进行页面切换
-
新建页面1,默认生成的布局,将方法改为一个信号:
Page { width: 1024 height: 768 property alias button: button Button { id: button x: 64 y: 64 text: qsTr("load T2") } } T1Form { signal navigate(string page) button.onClicked: navigate("T2.qml") }在点击按钮时,需要转向T2
-
新建页面2,默认生成的布局,将方法同样改为一个信号:
Item { width: 1024 height: 768 property alias button: button Button { id: button x: 64 y: 64 text: qsTr("return t1") } } T2Form { signal navigate(string page) button.onClicked: navigate("T1.qml") }在点击按钮时,需要返回T1
-
在App.qml中,如下配置
Loader{ id: loader source: "T1.qml" } Connections{ target: loader.item function onNavigate(page){ console.log("navigate to", page) loader.source = page } }Loader加载的真正的QML实例,都在 loader.item,包括根对象,包括信号