我正在使用 Qt,并且使用包含多个页面的 QWizard 对象。 当涉及到特定页面时,我想先隐藏“下一步”按钮,并在用户执行某些操作(例如单击单选按钮...)后显示它
当这个特定页面出现时,我想对向导进行一些自定义控制。 问题是,我知道如何隐藏按钮,但我不知道应该使用哪个功能。 我尝试了 QWizardPage 构造函数、initializePage 函数、“show”函数,但所有这些函数都不起作用。
如果我将按钮控件放在向导页面构造函数中,程序将崩溃,因为向导对象还不存在。
如果我把它放在initializePage函数中,一些QWizard函数会在initializePage函数之后重置按钮,并且所有自定义设置都会消失。
并且 show 函数似乎无法被覆盖。
我真的不知道哪个功能可用。 MFC中是否有OnSetActive或JAVA中的Load之类的函数? 当页面要显示时会调用哪个?
最佳答案
最好的解决方案可能是使用 QWizardPage::registerField
提供的解决方案。它允许您定义必填字段/单选按钮/等。仅当填写/选中所有必填字段后,向导中的“下一步”和/或“完成”按钮才会启用。
参见http://doc.trolltech.com/4.6/dialogs-licensewizard.html有关使用此功能的示例。
编辑:QWizard::button
提供对向导中按钮的访问。您是否尝试过类似 myWizard->button(QWizard::NextButton)->setEnabled(false)
?
关于qt - 在哪里控制 QWizard 按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3401484/