我要禁用或隱藏回到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