[Qt-interest] QMetaObject::invokeMethod()
Scott Aron Bloom
Scott.Bloom at sabgroup.com
Tue Feb 3 08:22:41 CET 2009
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/20090202/21d5fb80/attachment.html
More information about the Qt-interest-old
mailing list