我有一个应用程序,我在其中使用Loader对象在主文件中加载一些资源:
main.qml:
ApplicationWindow {
property string pageSource: pageLoader.source
...
Loader {
id: pageLoader
source: "page1.qml"
}
}
在page1.qml中,我有一个包含一些按钮和文本字段的布局。在pageLoader
中加载此页面可以正常工作。如你所见,我有一个foo
按钮,应该将Loader的源切换到page2.qml,但由于某种原因,它不起作用。
page1.qml:
Item {
ColumnLayout {
TexField {...}
TexField {...}
Button {
id: foo
onClicked: {
pageSource = "page2.qml"
}
}
}
}
通过检查一些控制台日志,我能够知道我实际上正在更改加载器的源,但是视图没有按预期更新,并且page1.qml中的所有控件都没有被page2.qml替换。第二页有ListView
。切换Loader的活动属性也不起作用。任何人都可以发光吗?