[Development] Event loop of Qt window in DLL injected into another process
Thiago Macieira
thiago.macieira at intel.com
Mon Oct 20 01:04:41 CEST 2014
On Sunday 19 October 2014 19:12:29 Arkadiusz Szulakiewicz wrote:
> Hello, I have a problem with event loop. I am creating DLL which I am
> injecting into MFCapplication – my dll spawns a qt window. it works fine,
> except ‘input’ to spawned window is blocked: for ex. i have edit box, i am
> typing into it and nothing happens – unless, I resize / minimalzie window
> then it’s somehow ‘flushed’. does anyone have any idea why this happen?
> Here is my code: http://pastebin.com/iXqnwwCu I am using Qt version
> 5.3.2
The usual answer is to give Qt the event loop. If you control the host
application, you can create a QAbstractEventDispatcher to make it work with
the MFC application. Or you can use the MFC migration framework (I think it's
only available for enterprise customers).
If you can't do any of those, you should use modal dialogs and use exec() for
your Qt dialog. You'll be able to interact with the Qt dialog only, not the
rest of the application, for the duration of the dialog.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list