Monday, 15 April 2013

c++ - Pass pointer to itself in emit() in Qt -



c++ - Pass pointer to itself in emit() in Qt -

i have class handling file transfers. 1 of emits finished() signal

on parent side, i'd connect finished() signal filetransferfinished() slot how can know instance finished? there plenty of them running @ same time..

i know can create utilize of qobject::sender() method homecoming emitter, way, can't acces method of instance..

qdebug() << "finished " << qobject::sender()->getid();

it says no fellow member named getid in qobject

i'd have pointer within slot function, possible?

look @ prototype of object::sender() in documentation:

qobject * qobject::sender() const

it returns pointer qobject instance, hence not able phone call getid() method on homecoming value.

cast homecoming value of object::sender() pointer of class before using :

yourclass * sender_obj = qobject_cast<yourclass*>(qobject::sender()); qdebug() << "finished " << sender_obj->getid();

c++ qt qt5 signals-slots

No comments:

Post a Comment