我正在创建一个数据库驱动的Qt应用程序。如果配置文件丢失(第一次运行),则应运行向导以帮助用户配置应用程序。由于数据库设置是此过程的一部分,因此我希望为用户提供创建新数据库或使用现有数据库的能力。在用户导出数据库、获得新计算机或重新安装程序的情况下,能够使用现有的数据库是很重要的。
但是,我注意到QWizard对象似乎是以线性方式进行的……您可以根据将它们添加到代码中的主QWizard对象的顺序转到下一页或上一页。基本上,我需要用户被带到页面A,如果他们想要创建一个新的数据库或页面B,如果他们想使用现有的数据库。(等等)。如果他们选择通向页面A的选项,用户应该永远不会看到页面B (反之亦然)
如何做到这一点并不是一目了然的,因为QWizard似乎希望以完全线性的方式运行,而不是分支。我考虑过使用条件语句来检查选择了哪个单选按钮,但一旦Qwizard exec()循环启动,这在运行时似乎就不起作用了。
如果这是不可能的,那么能够在运行时根据以前的选择重新组装下一个页面就足够了。
发布于 2011-10-15 09:38:43
您需要继承QWizard的子类并覆盖nextId(),以告诉它下一步显示哪个页面。
http://doc.qt.io/qt-5/qwizard.html#creating-non-linear-wizards
https://stackoverflow.com/questions/7774373
复制相似问题