Mostrando entradas con la etiqueta funciones. Mostrar todas las entradas
Mostrando entradas con la etiqueta funciones. Mostrar todas las entradas

jueves, 25 de diciembre de 2014

Conectar señales de Qt con funciones en C

La nueva sintaxis de Qt 5 nos permite conectar señales de objetos de Qt con funciones estáticas comunes.

Para ello usamos la siguiente sintaxis:

connect(emisor,  &ClaseDelEmisor::señal,  funcion);

Por ejemplo:


connect(timer, &QTimer::timeout, &f );



Ejemplo:

/** Cuando se vence el tiempo del timer y se envia
     la señal timeout() se ejecuta la función f **/


void f(){
    qDebug()<<"&timer.timeout ----> f()";
}


int main(int argc, char *argv[])
{   
    QCoreApplication a(argc, argv);    
    QTimer *timer = new QTimer();


    // Se conecta la señal timeout con la función f
    timer->connect(timer, &QTimer::timeout, &f );    

    timer->start(1000);    
    return a.exec();
}

Diagrama:



Links: