我怀疑我试图弯曲 aQWizardPage
做的事情超出了预期,这就是我遇到问题的原因,但也许有办法做到这一点。
因此,我在一个页面中有许多页面,QWizard
并且在某个页面上,我针对某些硬件运行了一系列测试,然后将结果存储在数据库中。我希望能够在必要时取消。但是目前取消按钮是 QWizard 的一部分,所以我不知道如何处理它。
我知道我可以覆盖的reject()
功能QWizard
然后确定当前页面,如果它是我感兴趣的页面然后做一些事情,但我宁愿不以这种方式将页面绑定在一起,除非我必须这样做。
我确实尝试将rejected()
信号连接到向导,如下所示:
connect(this, SIGNAL(rejected()), ui->runTestPage, SLOT(on_rejected()));
但这会立即关闭页面,然后我才能向用户显示任何内容以说我正在取消。
我可以向向导页面添加一个按钮,该按钮将在测试运行时显示以允许取消,但该页面仍然具有主取消按钮。事实上,即使在测试完成后,取消仍然会显示,因此能够删除或禁用这似乎是合适的。
那么这是我可以做的事情还是我需要重新审视向导的整个使用?