¿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.
-
Hola @Casino, Imagino que ésta es la solución que enconraste para tu otra pregunta, por favor, recuerda mantener un órden, responder en el hilo apropiado y marcar el tema como solucionado si se encontró la solución.
Un saludo