【发布时间】:2018-03-29 16:13:57
【问题描述】:
我有一个QWizardPage,用户应该在其中完成某些步骤,最后有一个“测试”按钮。如果用户按下该按钮,会发生两件事:
-
启用“下一步”按钮以转到
QWizard的下一页。这是通过发出连接到QWizardPage的按钮的特殊信号来实现的:this->registerField("test*", m_button, "text", SIGNAL(testDone()));
m_button 派生自 QPushButton,带有自定义信号 testDone()。
- 按钮名称更改为“重试”,以便提供重新尝试一系列步骤的选项。如果用户按下按钮,GUI 元素将返回初始状态(除了禁用
QWizard上的“下一步”按钮)。
问题是:对于第二种情况,如何确保“下一步”按钮在被发出的testDone() 信号启用后被禁用?
我想如果我断开特定信号 testDone() 与 QwizardPage 的连接(在它发出之后),它会给出预期的结果,但是它不起作用。我试图断开QWizardPage(例如this->disconnect)上的所有内容,但这也没有用。还有其他想法吗?
【问题讨论】:
标签: qt signals-slots qwizard qwizardpage