Usually QObject
is passed by pointer, not by reference (note that QObject
cannot be copied and cannot be passed by value). QObject*
is registered as a meta type by default. So creating a signal and a slot with QObject*
argument is enough to get them work:
private slots:
void test_slot(QObject* object);
signals:
void test_signal(QObject* object);
Initialization:
connect(this, SIGNAL(test_signal(QObject*)), this, SLOT(test_slot(QObject*)));
Emitting:
QObject* object = new QObject();
emit test_signal(object);
Of course the signal and the slot could be in different classes.