Tôi muốn tắt hoặc ẩn nút Quay lại trong hộp thoại QWizard. Tôi làm nó như thế nào?Làm thế nào để vô hiệu hóa hoàn toàn hoặc ẩn nút Quay lại trong QWizard?
Trả lời
Tôi đã nhìn vào nguồn Qt và phát hiện ra rằng nó có thể để ẩn nút Back bằng cách tạo bố trí nút tùy chỉnh và ommiting Trở lại nút trong danh sách:
QList<QWizard::WizardButton> button_layout;
button_layout << QWizard::HelpButton << QWizard::Stretch <<
QWizard::NextButton << QWizard::CustomButton1 <<
QWizard::CancelButton;
this->setButtonLayout(button_layout);
Tôi hy vọng điều này sẽ tiết kiệm được một số thời gian để ai đó .
P.S.
AFAIU để tránh sử dụng QTimer, cần phải sửa đổi mã nguồn QWizard. Cách easies sẽ là thêm một chức năng ảo các nút void ảoCập nhật(); và gọi nó từ cuối của QWizard: void QWizardPrivate :: _ q_updateButtonStates() Sau đó reimplement this buttonsUpdated() trong QWizard sublass của bạn và vô hiệu hóa nút Back ở đó.
Calling
QWizard::button(QWizard::BackButton).hide()
trong
QWizard::onCurrentIdChanged(int)
làm việc cho tôi (trong PyQt4).
Điều này có hiệu quả ẩn nút quay lại trên mọi trang thuật sĩ, nhưng nó đạt được hiệu quả mong muốn.
Cách khác (có thể định hướng theo khuôn khổ) là đặt QWizardPage, xuất hiện trước trang bạn muốn nút quay lại bị vô hiệu hóa, là trang cam kết. Chỉ cần gọi this.setCommitPage(true)
trên QWizardPage và trang tiếp theo sẽ không bật nút quay lại.
trống QWizardPage :: setCommitPage (bool commitPage) Sets trang này trở thành một trang cam kết nếu commitPage là đúng; nếu không, hãy đặt nó thành một trang thông thường . Trang cam kết là trang thể hiện hành động mà không thể hoàn tác được bằng cách nhấp vào Quay lại hoặc Hủy. Nút Cam kết thay thế nút Tiếp theo trên trang cam kết. Nhấp vào nút này chỉ cần gọi QWizard :: next() giống như nhấp vào Tiếp theo. Trang được nhập trực tiếp từ trang cam kết có nút Quay lại bị vô hiệu hóa. Xem thêm isCommitPage().
Nếu bạn muốn tất cả các nút quay lại bị tắt, bạn chỉ có thể gọi nó trên mọi trang.
- 1. VS2010 Vô hiệu hóa phác thảo trong xaml, (hoặc vô hiệu hóa phác thảo hoàn toàn)
- 2. Làm thế nào để vô hiệu hóa (hoặc ẩn) nút đóng (x) trên JFrame?
- 3. Làm thế nào để vô hiệu hóa nút trong UIActionSheet?
- 4. Làm thế nào để vô hiệu hóa nút quay lại khi hộp cảnh báo trên màn hình
- 5. Plugin Phonegap ChildBrowser: Vô hiệu/Ẩn URL trong thanh địa chỉ, nhưng không phải nút quay lại/tiến/thoát
- 6. Vô hiệu hóa nút quay lại của trình duyệt trong C#
- 7. Vô hiệu hóa nút Quay lại và Chuyển tiếp trên UIToolBar trong UIWebview
- 8. TinyMCE - Vô hiệu hóa hoàn toàn xác thực
- 9. Làm thế nào để bạn vô hiệu hóa hiệu ứng MouseOver trên một Nút trong WPF?
- 10. Làm thế nào để vô hiệu hóa nút xem cgridview hoặc thiết visiability false
- 11. Làm thế nào để vô hiệu hóa javax.swing.JButton trong java?
- 12. Làm thế nào để vô hiệu hóa subversion trong netbeans
- 13. Vô hiệu hóa nút "tải lại lưới" trong nav
- 14. Vô hiệu hóa hoàn toàn việc định dạng và hoàn thành trong ReSharper cho Visual Studio
- 15. Nút gửi biểu mẫu vẫn bị vô hiệu hóa khi sử dụng nút Quay lại trong Firefox
- 16. Datagridview, vô hiệu hóa nút/hàng
- 17. Làm thế nào để vô hiệu hóa mod_deflate trong apache2?
- 18. Làm thế nào để vô hiệu hóa tự động hoàn thành trong bàn phím iPhone UITextView
- 19. Làm thế nào để vô hiệu hóa nảy trong ứng dụng iphone toàn màn hình html5?
- 20. Vô hiệu hóa một nút trong iOS
- 21. Làm thế nào để vô hiệu hóa sắp xếp lại cột trong một TableView JavaFX2?
- 22. Làm thế nào để vô hiệu hóa rìa trong Emacs?
- 23. Làm thế nào để vô hiệu hóa PerfWatson trong VS2012?
- 24. Làm thế nào để vô hiệu hóa hoặc ẩn bảng chỉ mục của trình đọc Acrobat trong winform?
- 25. làm thế nào để vô hiệu hóa toàn bộ điều khiển thả xuống trong html
- 26. Làm thế nào để vô hiệu hóa an toàn luồng trong PHP?
- 27. Làm thế nào để vô hiệu hóa nút thu nhỏ trong C#?
- 28. Làm thế nào để vô hiệu hóa hình ảnh nhấp nháy trong một nút?
- 29. Cách ẩn/vô hiệu hóa admob adview?
- 30. WPF Làm thế nào để vô hiệu hóa DropShadowEffect
bạn có thể thực hiện QWizard :: BackButton bất cứ lúc nào bằng nút 'QWizrad :: (WizardButton)) và ẩn/tắt nó bất kỳ lúc nào –
bạn đã tự kiểm tra? Tôi đã kiểm tra nó trên 4.7.4 và nó không hoạt động đơn giản – Dmitriy