我的应用程序有一个包含两个QML文件的stackview。 我需要从QML文件本身内部从一个QML文件导航到另一个QML文件,在那里我无法访问stackview来推送或弹出。 我该如何设计呢?
Main.qml
Rectangle
{
id: mainBkg
color: "white"
width: Screen.width
height: Screen.height
//Tickes every globalTimer.interval
property int globalTick: 0
Statusbar
{
width: Screen.width
height: Screen.height*0.2
id: statusBar
Rectangle
{
width: parent.width
height: parent.height*0.2
anchors.fill: parent
color: "green"
Text {
id: t
text: qsTr("QMLfile1")
}
}
}//end of statusbar
StackView {
id: stackView
anchors.top: statusBar.bottom
anchors.centerIn: parent
//What should be here? So that stackView
//will be available inside the loaded items.
initialItem:
}
}
以下是两个QML文件:
QMLfile1.qml
Rectangle
{
width: parent.width
height: parent.height*0.2
anchors.fill: parent
color: "green"
Text {
id: t
text: qsTr("QMLfile1")
}
MouseArea:{
onClicked: //move to other QML file in stackview
}
}
我有另一个像上面那样的QML文件。
答案 0 :(得分:1)
你有很多选择。
可以在signal
的{{1}} - 元素中添加root
,并在QMLfile1.qml
中与其相关联。改变将在那里进行。
您还可以main.qml
添加property var callback
- root
的元素,在QMLfile1.qml
注入push
- StackView
的方法实例化它时
最后,您不能隐藏id
的{{1}}并跨文件边界访问它。我一般不喜欢那样。