29

我最近开始使用 Qt 库,我有一个问题。这是否可以在没有特殊插件的情况下将 Qt 与 Visual Studio 一起使用?

我只想使用 qt 设计器设计 UI,其余的在 VS Express 中完成。我怎么做?

谢谢。

4

4 回答 4

24

是的,您可以,如果您不想使用QtVSAddin,那么在没有 VS 插件且无需手动执行任何 uic 或 moc 步骤的情况下,将 Qt 与 VS Express 一起使用非常容易。让 QMake(与 Qt 一起安装但不是 QtVSAddin 的一部分)创建您的 VS 项目文件并在 qmake 项目文件中进行所有项目设置。每当您进行更改,例如添加/删除表单或源时,请修改 qmake 项目文件并重新生成 VS 项目。根本不要修改VS项目文件,只把它当作一个临时项目。QMake 会自动将规则添加到 VS 项目文件中以重新运行uicmoc,如果您只是修改源代码或表单,则无需执行任何操作。

出于配置管理的目的,我发现这是使用此工作流程的一种更简洁的方法,因为您将 VS 项目文件视为只是一个临时项目(它们往往差异很大,并且在版本控制中维护起来很痛苦)。

几个片段可以帮助你:

在您的 qmake 项目文件中,确保将以下行添加到其中,以便在 Windows 上运行时生成 VS 项目文件(qmake 默认生成一个 makefile)。

your_qmake_proj.pro

win32: TEMPLATE = vcapp

此外,使用批处理文件重新运行 qmake 很方便,因此您不必打开命令提示符并设置环境(或在已设置环境的命令提示符中将目录更改为项目)。如果您还没有使用 Windows 设置各种 Qt 环境变量(或者不想),请确保将它们添加到您的批处理文件中。

makevcproj.bat

set QTDIR=C:\Qt\x.y.z
set PATH=%PATH%;%QTDIR%\bin
set QMAKESPEC=win32-msvcXXXX
qmake your_qmake_proj.pro
pause
于 2013-03-18T02:12:46.127 回答
3

CMake 也是一个答案,它确实适用于 Visual Studio 的快速版本。我的意思是,如果您在 CMake 中使用 Qt 支持,您可以在没有 Qt 插件的情况下在 Visual Studio 中开发 Qt 项目(就像我多年来所做的那样)。我安装插件只是为了同一个包中的调试扩展。

于 2013-03-19T17:45:13.810 回答
2

这当然是可能的,但如果没有插件,您将需要在 VS 中编译其余部分之前或通过预编译脚本编写所需的文件UIMOC

具体来说:

uic.ui从文件生成标题。

moc为其中包含 Qt 宏的类生成附加的实现文件。

该加载项可帮助您在编译其余文件之前在所需文件上顺利调用这些。

于 2013-03-17T20:39:47.623 回答
-2

如果您在 QtCreator 中创建 UI 并以生成 UI 和 MOC 文件的方式手动设置 VS,这是可能的。

但工作量太大,您可以使用QtCreator,这是一个了不起的轻量级 IDE。

于 2013-03-17T23:31:20.973 回答