c++ - 将Qt集成到现有VS项目中以替换WinAPI

标签 c++ visual-studio qt user-interface winapi

我正在使用VS2019和Qt 5.12.9,并且我有一个旧的C++项目,当前将WinAPI用于其UI元素。我想逐步将其替换为Qt中实现的UI,首先针对特定的Windows,最终完全淘汰WinAPI。为此,我有两个问题:

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

  • 请记住,2)中描述的设置是一个临时解决方案。我不想永远兼顾这两个问题,该项目太大了,无法立即完全替换UI。

    提前致谢!

    最佳答案

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

  • 如果要使用Qt,最可靠的选择是启动一个全新的VS项目(并可能移植到某些后端代码上)。将Qt与WinAPI混合在一起太复杂且不可靠。
  • 如果要使用WinUI,请记住,您的应用程序只能在Windows 10上运行。如果这无关紧要,但是您使用的是旧版代码,则可能还需要取消许多旧配置(Windows版本定义等)是WinUI工作所必需的。
  • 关于c++ - 将Qt集成到现有VS项目中以替换WinAPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62428708/

    相关文章:

    c++ - 什么是用于序号排序的 QT 或开源 C++ 模板

    C++,Qt4 - QLabel.setText() 似乎会导致段错误

    c++ - 为什么模板函数不能将指向派生类的指针解析为指向基类的指针

    C++ 问题 : feature similar to Obj-C protocols?

    c++ - 读取图像中像素的值并保存在文件中 OpenCv

    c# - Visual Studio 不在目标框架下拉列表中显示 .NET Core 2.2

    visual-studio - 调试时,调试按钮移至 Visual Studio 中的左侧

    c# - 编码包含 boolean 值的复杂嵌套结构

    c++ - 如何保证进程调用malloc()时立即分配物理内存?

    c++ - 来自 std::exception 的更多信息