qt - 从不同于包含它的文件访问 QML Stackview
问题描述
我正在制作一个 QML 应用程序。我已经定义了一个 main.qml,我在其中添加了一个 StackView。我已经在这个“主”堆栈视图上加载了一个页面,但来自 main.qml。现在我需要从另一个文件(更具体地说,从我之前在此 stackview 上推送的页面之一)向这个 stackview 推送一些东西。
这就是我所做的。
main.qml
ApplicationWindow {
id: window
visible: true
width: 320
height: 568
title: qsTr("Stack")
header: ToolBar {
contentHeight: toolButton.implicitHeight
ToolButton {
id: toolButton
text: stackView.depth > 1 ? "\u25C0" : ""
font.pixelSize: Qt.application.font.pixelSize * 1.6
onClicked: {
if ( stackView.depth > 1 ) {
stackView.pop( )
} else {
...
}
}
}
Label {
text: stackView.currentItem.title
anchors.centerIn: parent
}
}
StackView {
id: stackView
initialItem: "ListaInventarios.qml"
anchors.fill: parent
}
}
ListaInventarios.qml
Page {
width: parent.width
height: parent.height
id: listaInventarios
title: "Inventarios"
ListView {
id: lvInventarios
anchors.fill: parent
model: ListModel { ... }
delegate: Component {
Item {
width: parent.width
height: 40
Column {
Text { text: nombreInventario; font.bold: true }
Text { text: fuenteDatos }
}
MouseArea {
anchors.fill: parent
onClicked: { lvInventarios.currentIndex = index }
onDoubleClicked: {
// HERE I NEED TO PUSH A NEW PAGE ON "stackView" (from main.qml)
}
}
}
}
highlight: Rectangle {
color: "lightblue"
radius: 5
}
focus: true
}
footer: ToolBar {
id: barraInferior
contentHeight: toolButton.implicitHeight
Row {
anchors {
horizontalCenter: parent.horizontalCenter
verticalCenter: parent.verticalCenter
}
ToolButton {
text: "Nuevo"
width: window.width / 2
onClicked: {
...
}
}
ToolButton {
text: "Borrar"
width: window.width / 2
onClicked: {
...
}
}
}
}
}
解决方案
onDoubleClicked: {
listaInventarios.StackView.view.push("Foo.qml")
}
请注意,您需要在调用前加上由StackView
:管理的项目listaInventarios
。
推荐阅读
- google-apps-script - 有没有办法在 Google Docs 的 Google Apps 脚本中添加“复制到剪贴板”功能?
- java - SparkStreaming 2.3.1 java.lang.NoSuchMethodError: twitter4j.TwitterStream.addListener(Ltwitter4j/StreamListener;)V
- ios - 在 IOS 中计算哈希率
- javascript - 当我收到来自 socket.io 的响应时,我的反应组件没有呈现我的状态
- php - 用php执行一个shell脚本
- graph-algorithm - Does Prim's algorithm checks graph connectivity by itself?
- javascript - Javascript每个循环都有暂停而不是暂停
- jquery - 从jquery中动态创建的行计算列的总和
- json - 如何重载float的json反序列化?
- java - 已创建 Spring Boot Jar。运行但失败`DataSourceProperties$DataSourceBeanCreationException:无法确定合适的驱动程序类`IntelliJ