Hello,

i'm trying to display a QMessageBox from a non-GUI thread. For this i use 
signal&slots:

in a QMainWindow based object i defined the slot.
In the sending object i defined the signal and in the c'tor i connect them.
Then, from a background thread, i emit the signal.
Connecting and emitting the signal is executed without error but the slot is 
never executed.

Connect signal in c'tor:

> connect(this,SIGNAL(showNewWarning(cstr)),parent,SLOT(showNewWarning(cstr)),Qt::QueuedConnection);

Emit signal:

>  emit showNewWarning("Programme did not fit in ram.");

I really think this should work.


This is Qt 4.8 on Mac OSX.
I have no custom event loop in the QApplication object.
The background thread was not created by my application. It is an audio 
callback:
This may be the reason for the failure, but then i need a workaround. :-/

 static OSStatus audioDeviceIOProc
(
        AudioDeviceID                   /*inDevice*/,
        const AudioTimeStamp*   /*inNow*/,
        const AudioBufferList*  inInputData,
        const AudioTimeStamp*   /*inInputTime*/,
        AudioBufferList*                outOutputData,
        const AudioTimeStamp*   inOutputTime,
        void*                                   /*inClientData*/
)
{ ... }

Greetings from Germany,

        ... Kio !

-- 
http://k1.dyndns.org/Vintage/Sinclair/



_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to