Quiero deshabilitar u ocultar el botón Atrás en el cuadro de diálogo QWizard. ¿Cómo puedo hacerlo?¿Cómo deshabilitar u ocultar por completo el botón Atrás en QWizard?
Respuesta
He mirado en las fuentes de Qt y descubrí que es posible ocultar el botón Atrás creando disposición de los botones personalizados y ommiting botón Atrás en la lista:
QList<QWizard::WizardButton> button_layout;
button_layout << QWizard::HelpButton << QWizard::Stretch <<
QWizard::NextButton << QWizard::CustomButton1 <<
QWizard::CancelButton;
this->setButtonLayout(button_layout);
espero que esto ahorrará algo de tiempo para que alguien .
P.S.
AFAIU para evitar el uso de QTimer es necesario modificar el código fuente de QWizard. La manera más fácil será agregar una función virtual virtual void ButtonUpdated(); y llámalo desde el final de QWizard's: void QWizardPrivate :: _ q_updateButtonStates() A continuación, vuelve a implementar este ButtonUpdated() en tu subclase QWizard y desactiva el botón Atrás allí.
Calling
QWizard::button(QWizard::BackButton).hide()
en
QWizard::onCurrentIdChanged(int)
trabajado para mí (en PyQt4).
Esto oculta eficazmente el botón Atrás en cada página del asistente, pero logra el efecto deseado.
Una forma alternativa (quizás más orientada al entorno) sería establecer que QWizardPage, que aparece antes de la página en la que desea que se deshabilite el botón Atrás, sea una página de confirmación. Simplemente llame al this.setCommitPage(true)
en un QWizardPage y la página siguiente no tendrá habilitado el botón Atrás.
vacío QWizardPage :: setCommitPage (commitPage bool) Conjuntos esta página a ser una página de cometer si commitPage es cierto; de lo contrario, establece que sea una página normal . Una página de confirmación es una página que representa una acción que no se puede deshacer haciendo clic en Atrás o Cancelar. Un botón Confirmar reemplaza el botón Siguiente en una página de confirmación. Al hacer clic en este botón, simplemente llama al QWizard :: next() al igual que al hacer clic en Siguiente. Una página ingresada directamente desde una página de confirmación tiene su botón Atrás deshabilitado. Vea también isCommitPage().
Si desea deshabilitar todos los botones de retroceso, puede simplemente llamarlo en cada página.
- 1. ¿Dónde controlar el botón QWizard?
- 2. Deshabilitar el botón Atrás en el navegador
- 3. Cómo deshabilitar (u ocultar) el botón de cerrar (x) en un JFrame?
- 4. Deshabilitar el botón Atrás y Adelante en UIToolBar en UIWebview
- 5. ¿Puedes deshabilitar el botón Atrás en un asistente JFace?
- 6. Cómo deshabilitar el botón, haga clic en?
- 7. cómo deshabilitar por completo la aserción
- 8. Cómo deshabilitar el botón Atrás en el navegador cuando el usuario cierra sesión en asp.net C#
- 9. Interceptar el botón Atrás
- 10. cómo desactivar el botón Atrás en Android
- 11. Cómo deshabilitar u ocultar el panel de marcadores de Acrobat Reader en winform?
- 12. GWT botón Atrás navegador
- 13. Cómo ocultar el teclado después de presionar un botón Atrás de UINavigationBar en ios
- 14. cómo deshabilitar/habilitar un botón por jquery
- 15. Android: Cómo simular el botón Atrás
- 16. VS2010 Deshabilitar el delineado en xaml, (o deshabilitar el delineado por completo)
- 17. Ocultar o desactivar el botón Atrás en la vista final de la aplicación basada en el controlador de navegación
- 18. El botón de navegación hacia atrás no se muestra, cómo agregar el botón Atrás a UINavigationItem
- 19. Cómo atrapar el evento del botón Atrás
- 20. UINavigationController: Ocultar el botón Atrás en una vista Lo oculta en todas las vistas
- 21. ¿Cómo puedo sobrescribir el "siguiente" espacio en un QWizard?
- 22. iOS cómo quitar el botón Atrás?
- 23. Cómo deshabilitar el botón minimizar en C#?
- 24. ¿Cómo deshabilitar el botón en UIActionSheet?
- 25. Android - Simular el botón Atrás
- 26. PJAX: Problemas con el botón Atrás
- 27. ¿Cómo detectar el botón Atrás y la nueva ventana?
- 28. ¿Cómo ocultar un UIView por completo al cambiar de orientación?
- 29. Nginx cómo deshabilitar por completo el almacenamiento en memoria caché Proxy
- 30. Cómo deshabilitar por completo los reintentos de NServiceBus
puede tomar QWizard :: BackButton en cualquier momento con el botón 'QWizrad :: (WizardButton which) const' y ocultarlo/deshabilitarlo en cualquier momento –
¿lo comprobó usted mismo? Lo revisé en 4.7.4 y no funcionó tan simple – Dmitriy