Visual studio Qt5包含哪些内容?

Visual studio Qt5包含哪些内容?,visual-studio,qt,include,qt5,Visual Studio,Qt,Include,Qt5,我刚把我的项目从第四季度移到第五季度,我对包含有问题 对于Qt4,我使用了以下行: #include <QtGui\QtGui> #include <QtCore\QtCore> #包括 #包括 但这对Qt5不起作用,我不知道该用什么。在QtCreator的示例中,我可以看到它们使用了QtWidgets,但我使用的是MS Visual Studio,其中include的工作方式有点不同。1)不建议为模块包含这些头,最好只包含您需要的头(并使用前向声明,而不是尽可能地包

我刚把我的项目从第四季度移到第五季度,我对包含有问题

对于Qt4,我使用了以下行:

#include <QtGui\QtGui>
#include <QtCore\QtCore>
#包括
#包括
但这对Qt5不起作用,我不知道该用什么。在QtCreator的示例中,我可以看到它们使用了QtWidgets,但我使用的是MS Visual Studio,其中include的工作方式有点不同。

1)不建议为模块包含这些头,最好只包含您需要的头(并使用前向声明,而不是尽可能地包含)。包含模块头将提高编译速度(可能会提高很多,具体取决于您的项目有多大)

2) 您不需要include中的路径,而不是
#include
,您可以使用:
#include
,如果Qt安装正确,它应该可以工作

3是QT5中包含QUI 4中GUI模块中的C++ UI元素(QLaband等)的模块(现在只包含一些关于窗口系统、事件、OpenGL、图像等的基础),因此,如果在C++中创建UI,则需要在Qt Creator文件中添加<代码> Qt++WIDGETS >代码(如果使用了Mulk),则需要链接QtWIDGET模块。或者在Qt项目设置的模块选项卡中选择它(如果使用VS ide)

您可以在中查看有关模块的更多信息。

1)不建议为模块包含这些标头,最好只包含您需要的标头(并使用前向声明,而不是尽可能包含)。包含模块头将提高编译速度(可能会提高很多,具体取决于您的项目有多大)

2) 您不需要include中的路径,而不是
#include
,您可以使用:
#include
,如果Qt安装正确,它应该可以工作

3是QT5中包含QUI 4中GUI模块中的C++ UI元素(QLaband等)的模块(现在只包含一些关于窗口系统、事件、OpenGL、图像等的基础),因此,如果在C++中创建UI,则需要在Qt Creator文件中添加<代码> Qt++WIDGETS >代码(如果使用了Mulk),则需要链接QtWIDGET模块。或者在Qt项目设置的模块选项卡中选择它(如果使用VS ide)


您可以在中查看有关模块的更多信息。

您不需要使用这些包含。如果您包含整个
QtGui
模块,那么它已经包含了它所依赖的
QtCore
,并且在Qt 4或Qt 5中,您只需要
\include
。前缀形式
从来都不是必需的

由于小部件在Qt5中移出了gui模块,因此只需在Qt5中包含。或者,如果您希望同时支持Qt 4和Qt 5:

#include <QtGui>
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
#include <QtWidgets>
#endif
#包括
#如果QT\u版本>=QT\u版本检查(5,0,0)
#包括
#恩迪夫

您永远不需要使用这些包含。如果您包含整个
QtGui
模块,那么它已经包含了它所依赖的
QtCore
,并且在Qt 4或Qt 5中,您只需要
\include
。前缀形式
从来都不是必需的

由于小部件在Qt5中移出了gui模块,因此只需在Qt5中包含。或者,如果您希望同时支持Qt 4和Qt 5:

#include <QtGui>
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
#include <QtWidgets>
#endif
#包括
#如果QT\u版本>=QT\u版本检查(5,0,0)
#包括
#恩迪夫

See:See:谢谢,它与QTWidget一起工作。但出于某种原因,我需要这样使用它:#包括@ni1light不,你不需要。您的
.pro
文件中有一个过时的Makefile,而该文件没有
QT+=widgets
。删除生成文件夹并重试。谢谢,它可以与QtWidgets一起使用。但出于某种原因,我需要这样使用它:#包括@ni1light不,你不需要。您的
.pro
文件中有一个过时的Makefile,而该文件没有
QT+=widgets
。删除生成文件夹,然后重试。