[Interest] Customized Qt Platform Abstraction plugin

Benjamin TERRIER b.terrier at gmail.com
Mon Nov 20 11:32:11 CET 2017


2017-11-17 23:52 GMT+01:00 Philippe <philwave at gmail.com>:
>> You can do hybrid apps in Qt, I did one in MFC and Qt. Remember at some level Qt is "just a library". I'd imagine that at some point though you'd need to merge the event loops depending on the  level of intertop required. If you don't have the same process/address space you'll need some level of IPC.
>
> A Qt application can embed native windows, but AFAIK, a Qt application
> cannot be embedded inside a hierarchy of native windows.
> Hence my idea to abstract the the native application via QPA.
> All that in the same process (no IPC).
>
> Philippe

You can embed a Qt window inside a native window.
For instance on Windows you can make a Qt application appear inside a
given HWND.
This is how it works when you make a screensaver app and have the
preview displayed in the
screensaver setting panel.
I made it work some years ago with Qt 4. It should work with Qt 5, I
think you would have
to use QWindow::fromWinId().

For the events, this has been discussed in 2016 in the development mailing list.
In the end Thiago recommended to create your own QAbstractEventDispatcher,
as opposed to others that reported calling
`QApplication::processEvents()` in the
other framework event loop.

http://lists.qt-project.org/pipermail/development/2016-December/028105.html

Br,

Benjamin



More information about the Interest mailing list