嵌入另一个窗口作为 QWidget



我目前正在开发一个使用 Allegro 进行渲染、输入等的项目。但是,我想使用类似Qt的东西向我的项目添加一个GUI。问题是 Allegro 不支持使用不是由 allegro 创建的窗口进行渲染/输入,它需要创建窗口本身。我正在考虑使用Qt来制作UI,然后通常使用allegro创建一个窗口,然后以某种方式将allegro窗口嵌入到Qt应用程序中。

Allegro 为其使用的窗口提供HWND句柄。有没有办法使用其HWND句柄将快板窗口嵌入到 Qt UI 中?

你需要Qt/MFC迁移框架中的QWinHost类。该代码是 3 个子句 BSD 许可的。您只需要两个文件: qwinhost.hqwinhost.cpp ,可在此处获得。

它完全符合您的需求,并且适用于Qt 4和5。

最新更新