Teléfono y Whatsapp: 675 18 68 80

Cómo pasar objetos por referencia en QT5: SIGNAL & SLOT

Las SIGNALS Y SLOTS son un tipo de métodos de QT para enviar y recoger eventos en este magnífico framework. En esos eventos también podemos enviar mediante referencia, parámetros en el SIGNAL y recogerlos para tratarlos en el SLOT.

Este es un ejemplo genérico de cómo se tratan.

SIGNAL y SLOT en QT5

En nuestro fichero prueba.h declaramos qué métodos son signals y slots.

private slots:
  void pruebaSlot(QObject* object);
 
signals:
  void pruebaSignal(QObject* object);

Conectamos ambos eventos en otro archivo conecta.cpp:

connect(this, SIGNAL(pruebaSignal(QObject*)), this, SLOT(pruebaSlot(QObject*)));

Emitimos la señal:

QObject* object = new QObject();
emit pruebaSignal(object);

Al emitirla y al estar conectada al slot pruebaslot, podremos recoger el objeto object emitido y tratarlo en el slot pruebaSlot().