0

我知道如何通过调用主屏幕NavigationPane对象的push(newScreen)方法从主屏幕推送屏幕。

现在,如果我想在第二个屏幕上推另一个屏幕怎么办?我必须让我NavigationPane推动它吗?如果是这样,我如何NavigationPane从我的第二个屏幕访问我的主屏幕(它们在单独的文件中)?我想这同样适用于第三个或第四个屏幕。

同样对于弹出屏幕,我如何让我的第二个(或第三个)屏幕自行弹出?这是假设我没有后退按钮,我想以编程方式执行此操作。我是否必须以某种方式获得对我的主屏幕的参考NavigationPane?就像第一个问题一样,我该怎么做?

我在这件事上看到的所有示例都是 QML 示例,我需要知道如何在 C++ 中执行此操作(根本没有 QML)。

任何帮助(链接,代码片段)将不胜感激。

4

1 回答 1

2
  • 您可以为每个页面使用一个类,在构造函数中传递 NavigationPane。注意不要扩展页面(它不起作用),而是使用将创建页面的工厂类。该类还可以包含所有 Q_INVOKABLE 等,以与 QML 进行通信

  • 您可以将 NavigationPane 设置为 Page 的父级,稍后使用方法 parent() 进行转换

  • 您可以将 NavigationPane 设置为 Page 的属性,以便稍后检索它。

  • 您可以使用单例或静态变量来存储 NavigationPane

于 2013-07-08T18:50:50.893 回答