[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