不使用插件在Visual Studio中使用Qt

29
我最近开始使用Qt库,我有一个问题。 不需要额外的插件,能否在Visual Studio中使用Qt?
我想使用Qt Designer设计用户界面,然后在VS Express中完成其余工作。 我应该如何做呢?
谢谢。

4
为什么你想这样做?我是说,如果没有Visual Assist X,VS就显得笨拙了,而它也不适用于Express。Qt Creator提供了出色的自动补全和许多节省时间的工具——例如生成属性访问器、从声明中生成定义等等……此外,VS根本不支持QML。你仍然可以从Creator使用VS编译器。总的来说,我认为选择VS Express没有好的理由。 - dtech
9
一个很好的原因是,如果你已经有了一个Visual Studio解决方案,并且想要添加一个QT项目到其中,而不必拥有两个单独的IDE并维护两套设置。 - JBentley
4个回答

24

如果你不想使用QtVSAddin,也可以很容易地在VS Express中使用Qt,而且无需手动执行任何uic或moc步骤。让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

你实际上可以在qmake行中添加-tp vc: qmake your_qmake_proj.pro -tp vc 并且不要更改.pro文件。 - Daniel Georgiev

3

CMake也是一种解决方案,它可以与Visual Studio Express版本一起使用。如果您在CMake中使用Qt支持,您可以在Visual Studio中开发Qt项目(就像我多年来一直在做的那样),而无需安装Qt插件。我只安装了该插件,因为它包含了调试扩展。


我在QtCreator中的“已安装插件”下勾选了“CMakeProjectManager”。我该如何使用CMake创建一个新的VS项目并编译它? - user2180248
我不确定CMake QtCreator插件包含什么内容。CMake的官方下载地址在这里:http://www.cmake.org/cmake/resources/software.html。至于如何开始,你需要为你的应用程序创建一个CMakeLists.txt文件,并使用CMake生成Visual Studio解决方案,而不是在Visual Studio GUI中进行操作。 - drescherjm

2

这是完全可能的,但在没有插件的情况下,您需要在VS中编译其余部分之前或通过预编译脚本中UIMOC所需的文件。

具体来说:

uic.ui文件生成头文件。

并且

moc为带有Qt宏的类生成附加实现文件。

该插件可帮助您在编译其余部分之前顺利调用这些文件。


-2

如果您在QtCreator中创建UI并手动设置VS生成UI和MOC文件,则可能会实现。

但这太麻烦了,您可以使用 QtCreator,它是一个非常好用的轻量级IDE。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接