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