【问题标题】:QML – how to go back to previous page (felgo)QML – 如何返回上一页 (felgo)
【发布时间】:2021-12-30 02:42:17
【问题描述】:

我有一个包含多个页面的应用程序。其中之一是设置页面,用户可以在其中选择各种设置。页面上有各种按钮,我可以通过这些按钮打开不同的页面。

目前我总是在以下页面之间切换:

page.navigationStack.push(nameOfPage)

在大多数情况下这没关系,但是当我关闭设置页面时,我想返回上一页(当我按下按钮打开设置页面时打开的页面)并且不必指定 1 页。

我正在使用 QML/Felgo

代码示例: 导入费尔戈 3.0 导入 QtQuick 2.0 导入 QtQuick.Controls 1.4

App {
    id: app
    NavigationStack {
        Page {
            id: page
            navigationBarHidden: true
            Text { text: qsTr("1st page") }
            Button {
                y: 30; text: "go to 2nd page"
                onClicked: page.navigationStack.push(secondpage)
            }
            Button {
                y: 60; text: "go to settings"
                onClicked: page.navigationStack.push(settingsPage)
            }
        }
    }

    Component {
        id: secondpage
        Page {
          navigationBarHidden: true
          Text { text: qsTr("2nd page") }
          Button {
              y: 30; text: "go to 1st page"
              onClicked: page.navigationStack.push(page)
          }
          Button {
              y: 60; text: "go to settings"
              onClicked: page.navigationStack.push(settingsPage)
          }
        }
    }

    Component {
        id: settingsPage
        Page {
            navigationBarHidden: true
            Text { text: qsTr("settings page") }
            //various settings
            Button {
                y: 30; text: "go to previous page"
                onClicked: page.navigationStack.push(page)  //??
            }
        }
    }
}

我不知道在第 47 行放什么 - 这样我就可以进入第一页或第二页 - 取决于我从哪里打开设置页面

任何帮助将不胜感激

【问题讨论】:

    标签: navigation qml buttonclick felgo


    【解决方案1】:

    我想你想用这个方法:

    https://felgo.com/doc/felgo-navigationstack/#pop-method

    这将执行反向动画(如在 iOS 或 Android 中点击后退按钮)并将移除并销毁堆栈中的顶部 Page。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-18
      • 2016-05-28
      • 2013-10-04
      • 1970-01-01
      • 2017-06-05
      • 2011-02-02
      相关资源
      最近更新 更多