将Qt集成到现有的VS项目中以取代WinAPI

Integrate Qt into existing VS project to replace WinAPI

本文关键字:项目 取代 WinAPI VS 集成 Qt      更新时间:2023-10-16

我正在使用VS2019和Qt 5.12.9,我有一个旧的C++项目,目前使用WinAPI作为其UI元素。我想逐渐用Qt实现的UI来取代它,首先针对特定的窗口,并最终完全淘汰WinAPI。为此,我有两个问题:

  1. 如何修改 VS 项目文件,以便项目执行所有必要的生成操作(.moc 文件等(?
  2. 是否可以将Qt和WinAPI UI"并排"?换句话说,主窗口仍将使用 Windows 消息循环和窗口过程,但对于特定窗口,我将实例化 Qt 对象。

请记住,2( 中描述的设置是临时解决方案。我不打算永远兼顾这两者,该项目太大了,无法立即完全替换 UI。

提前感谢!

因此,根据评论中@IInspectable的建议,我决定尝试使用WinUI而不是Qt升级应用程序。我在那里遇到的问题需要他们自己单独的问题,所以现在,我将在这里发布我自己的结论:

  1. 如果你想使用Qt,最可靠的选择是启动一个全新的VS项目(也许可以移植一些后端代码(。将Qt与WinAPI混合太复杂且不可靠。
  2. 如果要使用 WinUI,请记住,你的应用程序只能在 Windows 10 上运行。如果这不是问题,但你正在使用旧代码,则可能还需要解开 WinUI 工作所需的许多旧配置(Windows 版本定义等(。