我要禁用或隐藏回到QWizard对话框按钮。我该怎么做?如何在QWizard中完全禁用或隐藏后退按钮?
5
A
回答
5
我已经看了Qt的来源,并发现它可能通过创建自定义的按键布局,然后在列表ommiting后退按钮隐藏后退按钮:
QList<QWizard::WizardButton> button_layout;
button_layout << QWizard::HelpButton << QWizard::Stretch <<
QWizard::NextButton << QWizard::CustomButton1 <<
QWizard::CancelButton;
this->setButtonLayout(button_layout);
我希望这将节省一些时间给别人。
P.S.
AFAIU避免使用QTimer它是需要修改QWizard源代码。简单的方法是添加一个虚拟函数 virtual void buttonsUpdated(); 并从QWizard的末尾调用它: void QWizardPrivate :: _ q_updateButtonStates() 然后在QWizard子类中重新实现这个buttonsUpdated(),并在那里禁用Back按钮。
4
调用
QWizard::button(QWizard::BackButton).hide()
在
QWizard::onCurrentIdChanged(int)
工作对我来说(PyQt4中)。
这有效地再次隐藏每个向导页上的后退按钮,但它达到了预期的效果。
0
另一种(也许更多面向框架)的方式将设定QWizardPage,想要后退按钮被禁用在页面之前它来的时候,是一个提交页面。在QWizardPage上调用this.setCommitPage(true)
,下一页不会启用其后退按钮。
无效QWizardPage :: setCommitPage(布尔commitPage)设置此页面是一个提交页面,如果commitPage是真实的;否则,将其设置为 正常页面。一个提交页面是代表 无法通过单击后退或取消撤消的操作页面。一个提交按钮替换 提交页面上的下一步按钮。单击此按钮只需简单地调用 QWizard :: next(),就像单击下一步(Next)一样。 一个页面直接提交页面的返回按钮禁用输入。另请参阅isCommitPage()。
如果您希望禁用所有后退按钮,您可以在每个页面上调用它。
相关问题
- 1. QWizard:后退按钮确认
- 2. 如何隐藏或禁用按钮?
- 3. 如何检测在QWizard中按下的后退按钮?
- 4. Swift隐藏后退按钮
- 5. 如何隐藏此后退按钮?
- 6. 如何隐藏UINavigationController的后退按钮?
- 7. 如何在UWP托管应用程序(JS)中完全禁用后退按钮
- 8. 隐藏 “后退” 按钮,在UITabViewController
- 9. 如何在AVD中禁用(或隐藏)主页按钮
- 10. 如何在DataGridView中禁用或隐藏按钮
- 11. 片段隐藏后后退按钮
- 12. 隐藏浏览器后退按钮在按钮中点击
- 13. 在WinForms DevExpress XtraWizard控件中,如何隐藏后退按钮?
- 14. 完全禁用浏览器的后退按钮,完全不需要
- 15. 隐藏/禁用NSComboBox按钮
- 16. 隐藏/显示后退按钮
- 17. Xamarin IOS隐藏栏后退按钮
- 18. 如何禁用注销后退按钮?
- 19. 如何禁用Android的后退按钮#
- 20. 如何jquerymobile禁用后退按钮
- 21. 如何禁用inappbrowser的后退按钮?
- 22. 如何禁用后退按钮行为?
- 23. 如何完全禁用链接按钮?
- 24. VB.NET禁用/隐藏x按钮,但没有禁用完全关闭
- 25. 后退按钮禁用
- 26. 禁用后退按钮
- 27. 禁用IE后退按钮
- 28. Android禁用后退按钮
- 29. Response.Redirect()禁用后退按钮
- 30. Response.Redirect禁用后退按钮
你可以随时用QWizrad :: Button(WizardButton which)const'并在任何时间隐藏/禁用它QDizard :: BackButton – 2012-01-31 21:38:01
你自己检查了吗?我在4.7.4上进行了检查,并没有那么简单 – Dmitriy 2012-01-31 22:00:40