[Development] Trigger Qt event loop from external message loop

Kuba Ober kuba at mareimbrium.org
Thu Dec 19 21:52:55 CET 2013


Is this supported on all platforms now? IIRC it did not work OS X last time I tried, but yes,
it did work great on Windows.

— Kuba
 
On Dec 14, 2013, at 3:25 PM, Roland Winklmeier <roland.m.winklmeier at gmail.com> wrote:

> Thanks very much Olivier and Thiago!
> That works brilliant.
> 
> No idea why I forgot that QThread must not be used. But its of course
> obvious. I made a quick setup with native threads (std::thread is
> unfortunately not supported by VC2010) and it works perfectly now.
> 
> In case someone is interested:
> - - I added a additional shared library spawning a thread and links the
> actual plugin during runtime with LoadLibrary/dlopen. No Qt stuff in here.
> - - Second shared library creates QApplication object and runs its
> exec() loop.
> 
> Cheers Roland
> 
> Am 14.12.2013 19:23, schrieb Thiago Macieira:
>> On sábado, 14 de dezembro de 2013 12:42:32, Roland Winklmeier
>> wrote:
>>> n qthread_win.cpp QThreadPrivate::start -> void
>>> QThreadPrivate::createEventDispatcher(QThreadData *data) { 
>>> QEventDispatcherWin32 *theEventDispatcher = new
>>> QEventDispatcherWin32; 
>>> data->eventDispatcher.storeRelease(theEventDispatcher); 
>>> theEventDispatcher->startingUp(); }
>> 
>> You must not use QThread.
>> 
>> You need to start your thread before using any QObject-derived
>> classes. Once you're there, instantiate the QApplication



More information about the Development mailing list