我知道如何通过调用主屏幕的NavigationPane
对象的push(newScreen)
方法从主屏幕推出屏幕。
现在如果我想在第二个屏幕上推另一个屏幕怎么办?我必须让NavigationPane
推它吗?如果是这样,我如何从我的第二个屏幕(他们在单独的文件中)访问我的主屏幕NavigationPane
?我猜这同样适用于第三或第四屏幕。
同样对于弹出屏幕,如何让我的第二个(或第三个)屏幕弹出?这假设我没有后退按钮,我想以编程方式执行此操作。我是否必须以某种方式获得对我的主屏幕NavigationPane
的引用?就像第一个问题一样,我该怎么做?
我在这个问题上看到的所有例子都是QML示例,我需要知道如何在C ++中做到这一点(根本没有QML)。
任何帮助(链接,代码片段)都将不胜感激。
答案 0 :(得分:2)
您可以为每个页面使用一个类,您可以在构造函数中传递NavigationPane。注意不要扩展页面(它不起作用),而是使用将创建页面的工厂类。 该类还可以包含所有Q_INVOKABLE等,以与QML
您可以将NavigationPane设置为Page的父级,稍后使用方法parent()
您可以将NavigationPane设置为Page的属性,以便稍后检索。
您可以使用单例或静态变量来存储NavigationPane