[Qt-interest] QMetaObject::invokeMethod()
Shabd Swarup V
shabd at cadence.com
Tue Feb 3 08:35:45 CET 2009
Thanks Scott.
I have actually tried all three types of connections, i.e.
DirectConnection (same thread), QueuedConnection(multi-threaded) and
AutoConnection (effectively does both).
If I invoke the method directly, for example targetObject->triggered(),
it never returns!
I have a feeling QAction internally spawns another thread for its
execution. Do you think that's a possible scenario? If so, is there a
way to identify the end of exection of a QAction.
Thanks,
Shabd
________________________________
From: qt-interest-bounces at trolltech.com
[mailto:qt-interest-bounces at trolltech.com] On Behalf Of Scott Aron Bloom
Sent: Tuesday, February 03, 2009 12:53 PM
To: qt-interest at trolltech.com
Subject: Re: [Qt-interest] QMetaObject::invokeMethod()
Then you want a normal connection. A queued connection is for
multi-threaded, so it will return immediately and the signal will be
queued in the event loop for later..
Scott
From: qt-interest-bounces at trolltech.com
[mailto:qt-interest-bounces at trolltech.com] On Behalf Of Shabd Swarup V
Sent: Monday, February 02, 2009 11:11 PM
To: qt-interest at trolltech.com
Subject: [Qt-interest] QMetaObject::invokeMethod()
Hi,
I am trying to invoke the "triggered" signal of a QAction using
the QMetaObject::invokeMethod() call. The code snippet is given below:
QMetaObject::invokeMethod(targetObject, "triggered",
Qt::QueuedConnection);
In case of a QueuedConnection, ideally, the signal should be
queued until the event loop is able to deliver it to the slot but I get
the return even before the action has executed.
For example, there is a QAction "Open" under a MenuBar. When it
is clicked through the QMetaObject, I get a response immediately and
then the QFileDialog opens.
In case of all other widgets, this method seems to behave well.
I hope the problem is clear. Any ideas on how I can achieve what
I am trying. I basically need to find out when the action is finished
executing.
Thanks in advance.
Regards,
Shabd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20090203/c29342ac/attachment.html
More information about the Qt-interest-old
mailing list