Como conectar 2 ventanas



  • hola a todos gracias de antemano por su ayuda

    soy nuevo en Qt y encuentro que es una herramienta genial, pero tengo el siguiente problema:

    necesito que los datos de una ventana (lineedit y spinbox) al hacer click a un boton (calcular) el resultado o bien los datos se vallan a la otra ventana especificamente a un widget, estaba pensando y probando con signals y slot y no resulta o mas bien no se como hacerlo por favor ayudenme gracias muchas gracias.



  • me refiero como se hace en el builder de borland
    form1-> lineedit1 = form2->liendit2
    algo asi
    ya se como crear las ventans y las estoy enlazando con menubar hasta ahi todo bien



  • Hola

    Diréctamente no puedes acceder a los widgets de una ventana desde otra. Pero sí puedes pasar datos de una a otra.

    Puedes hacerlo de varias formas, por ejemplo, pasando un puntero del widget que te interesa a la otra ventana, o creando métodos "getter" y "setter".

    Y, por supuesto, usando señales. Defines en la ventana que tiene que pasar los datos una señal y la emites cuando estén listos.

    En la otra creas un slot que la reciba, haces la conexión y listo.

    Saludos



  • gracias:
    mas o menos entiendo no tendras un ejemplo o un trozo de codigo para que pueda ver y entender mejor por favor
    pd: la verdad tengo que pasar varios datos para ello tendria que crear varios signals y slot (para cada dato) o se peude hacer todo en uno.



  • Hola

    En este mismo foro puse una vez un ejemplo:
    http://qt-project.org/forums/viewthread/43378/#179160

    El método setText(QString) del QLineEdit es también un SLOT, por lo que puedes conectar la señal que emitas con el texto directamente con ese SLOT:
    http://qt-project.org/doc/qt-5/qlineedit.html#public-slots

    Las señales pueden llevar varios parámetros, lo único, que el SLOT que la reciba tiene que tener los mismos parámetros.

    Saludos



  • gracias

    lo voy a revisar y si tengo dudas vuelvo a preguntar ;)


Log in to reply
 

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