h1

Desactivar botón “Siguiente” en QWizard

25 enero 2010

En el trabajo estoy desarrollando una aplicación de escritorio que necesita generar una base de datos con Hibernate y los índices de los datos asociados para Hibernate Search, además de ciertas entradas mediante la API Preferences de Java. Como ejecutarlo mediante un script en una aplicación de escritorio da una apariencia un poco cutre🙂 decidí crear un instalador mediante la clase QWizard de QtJambi. En una de las pantallas se mostraba la típica lista de avances y quería desactivar el botón Siguiente hasta que terminase el proceso. Al principio pensé que mediante el método setEnabled(false) del botón sería suficiente pero no surtía ningún efecto, la solución final es más o menos igual de sencilla: reimplementar el método QWizardPage.isComplete() fijando su retorno mediante una variable booleana. En resumen:

class InstallPage extends QWizardPage {
    private boolean complete;

    @Override
    public boolean isComplete() {
        return complete;
    }

    public void install() {
        // ejecutar los pasos de la instalación
        complete = true;
    }
}

Para volver a activar el botón, en este caso sí funciona el método setEnabled(true).

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: