Abrir varias ui con un menu vertical.



  • Buenas tardes.
    Esto realizando un programa en Qt creator c++ y deseaba empezar con un menu principal y una vez en este menu poder cambiar de ventanas (Ui) y todo a partir de un menu vertical donde puedo volver al inicio.
    Luego de mirar en muchos foros encontre como pasar de una ventana a otra mediante el siguiente código.
    close();
    siguiente *prueba=new siguiente();
    prueba->showFullScreen();

    El programa funciona bien la primera vez, sin embargo la segunda vez que entro en la ventana siguen funcionando todo pero la parte grafica( En qdebug si puedo ver que se ejecuta el codigo) pero sin embargo no muestra los datos en la ui.

    A ver si alguien me puede ayudar. Muchas gracias por adelantado


  • Moderators

    Hola

    ¿Y qué haces en la ventana que abres, destruyes algo? En el código que has puesto creas el puntero, pero recuerda que luego tienes que destruirlo.

    ¿Por que close() antes de crear la ventana?

    No das muchas pistas, es complicado saber qué ocurre.

    Un saludo



  • hola
    Es un programa con un menú vertical que según pulses bien vuelve a un menú principal o va a otra ventana.
    En mi caso al pulsar el botón para ir a la ventana es cerrar la ventana que hay y luego creo el objecto de la ventana que voy abrir y la muestro a pantalla completa.
    El programa cambia de ventanas perfectamente y realiza unos cálculos sin embargo la segunda vez que vuelvo entra en cada ventana sigue haciendo los cálculos( lo comprobe con qDebug) pero no visualiza en ui.
    un saludo


  • Moderators

    Hola

    Pues no sé, solo con el trozo de código que pusiste antes la duda es qué haces con el puntero. ¿Lo destruyes cuando se cierra la ventana? Puede que tengas una fuga de memoria ahí si no lo haces e igual es la causa de lo que te ocurre.

    ¿siguiente qué es? ¿Hereda de algo? ¿destruyes la ui en algún momento?

    Es muy difícil saber con lo que nos has dado. Habría que ver la clase siguiente y como haces la creación y destrucción de la nueva ventana.

    Un saludo



  • Hola
    siguiente es el nombre de la clase que se me genero cuando cree el formulario.
    En la clase cuando la ui se cierra. De todas maneras cada ui cuando se genera ya una parte del codigo pone

    namespace UI{
    class siguiente;
    }
    class siguiente:: public QDialog
    {
    ..
    }
    En el destructor pone lo siguiente
    siguiente::~siguiente()
    {
    delete ui;
    }
    un saludo


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.