¿como conecto un dialog con mi mainwindow para que se modifique algo en este ultimo?



  • Hola, que tal, soy bastante nuevo en qt y estaba probando diferentes cosas para aprender a manejarlo.
    Mi problema es que quiero, por ejemplo, que en mi form1 haya un text edit y que al apretar un push button, el texto ingresado se pase a una label en mi MainWindow.
    Como ya dije soy muy nuevo y no entiendo bien, estuve leyendo sobre el tema de señales y slots y entendi algo, pero todo lo que probaba me da error o compila pero no se ejecuta correctamente. Gracias por su tiempo.
    Saludos



  • Hola

    Pues con señales se puede hacer, dices que te daba errores, algo estaba mal, seguro, hay que aprender a entender y saber por que da el error para intentar corregirlos.

    Puedes crear una señal personalizada que envíe un QString y la emites cuando se pulse el botón, y la conectas con el slot setText(QString) del QLabel en el que quieras que se muestre el texto.

    Un saludo



  • Claro, el problema es que no se bien como crear señales ni como usar correctamente el connect.
    Gracias por tu respuesta



  • Hola

    Lo primero que tienes que hacer es crear la señal en el .h de tu form:

    signals:
        void nuevoTexto(QString);
    

    Luego, al pulsar el botón emites la señal:

    void Dialog::on_botonEnviarSeñal_clicked()
    {
        emit nuevoTexto(ui->tu_line_edit->text());
    }
    

    Ahora ya tan solo te falta en el mainwindows crear el diálogo y conectar las señales:

    Dialog *dialog = new Dialog(this);
    connect(dialog, SIGNAL(nuevoTexto(QString)), ui->tu_label, SLOT(setText(QString)));
    

    Algo así creo que debe funcionar.

    Un saludo



  • perdon por la tardanza, recien lo leo. Ya lo pude implementar y es asi como dices, te agradezco por tu respuesta, un saludo.


Log in to reply
 

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