我在做一个基本上遵循预定义结构的项目,比如状态机或向导。我偶然发现了QWizard,它的nextId()函数似乎是一个让向导动态加载更多页面的好方法。现在,回到以前,已经访问过的向导页面会很好。但是即使使用重载的nextId(),我也无法返回到已经访问过的页面。在
是否可以清除访问页面的历史记录?或者有更好的方法吗?在
我在Python中使用Qt by PyQt4,但这应该会有很大的不同。另一种方法是,我要向向导添加一个类似的页面,并用这个页面共享以前的数据,但大部分来自C++,我不喜欢创建模仿原始文档的虚拟对象。在
编辑: 我要做的是用QWizard复制一个状态机(因为它几乎是一个状态机)。例如,在第1页加载数据,然后在第2页上发生可能扩展第1页数据的额外计算。通过使用后退按钮,我可以返回到第1页,但是我不能用next按钮“返回”,因为此时已经访问了第1页。我尝试了重载nextId()函数,但它不起作用。这意味着我不能建立一个循环的页面顺序,我想这样做。在
我过去也有类似的要求。我在}中没有切换到以前访问过的页面/ID的规定
C++
中开发了一个应用程序,它要求QWizard
对我的Hardware Device
进行许可和校准,结果发现{我在}。您可以使用它们来实现
C++
中想出了一个解决办法。但是,您可以轻松地移植到python
。here上的文档显示pyqt
有方法setStartId
和{python
中的逻辑。在我不知道你问的不同问题之间的逻辑联系。如果要返回已访问的页面,为什么要删除历史记录?在
通过重载
QWizard
或分离的QWizardPage
方法的nextID
方法,您可以轻松实现所需的任何自定义访问顺序。使用hasVisitedPage
方法来确定某个页面是否已被访问。visitedPages
按访问页面的顺序返回已访问页面的id列表。在你还需要什么?在
相关问题 更多 >
编程相关推荐