现在的位置: 首页 > 综合 > 正文

VS2010下QT配置

2013年12月02日 ⁄ 综合 ⁄ 共 2527字 ⁄ 字号 评论关闭

http://blog.sina.com.cn/s/blog_5e42f31a0100y52r.html

 

1.新建-项目-win控制台应用程序-控制台应用程序

2.建好项目后,为项目添加库

右击项目名称-属性-配置属性-VC++目录-分别为可执行文件目录、包含目录及库目录添加目录:

可执行文件目录:D:\QtSDK\Desktop\Qt\4.8.0\msvc2010\bin

包含目录:D:\QtSDK\Desktop\Qt\4.8.0\msvc2010\include

D:\QtSDK\Desktop\Qt\4.8.0\msvc2010\include\QtCore

D:\QtSDK\Desktop\Qt\4.8.0\msvc2010\include\QtGui

库目录: D:\QtSDK\Desktop\Qt\4.8.0\msvc2010\lib

3.添加依赖项:

右击项目名称-属性-配置属性-链接器-输入-添加依赖项中添加以下内容:

QtCoreD4.lib
QtGuiD4.lib
QtXmlD4.lib
QtUiToolsD.lib

4.新建对话框:

#include <QtGui/QApplication>
#include <QDialog>

int _tmain(int argc, _TCHAR* argv[])
{

QApplication app(argc,(char **)argv);
QDialog *dialog = new QDialog;

dialog->show();


return app.exec();

}

生成,显示“没有找到QtCored4.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。”

解决方法:如在项目test下,test/test下添加动态文件:

QtCore4.dll,QtCored4.dll,QtGui4.dll,QtGuid4.dll,

QtNetwork4.dll,QtNetworkd4.dll,QtXml4.dll,QtXmld4.dll

可以文件-打开-文件test下直接添加

5.运行时有黑色命令行运行窗口出现:
在main函数上方加上以下语句即可

#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\" " )

6. 在类声明的开始位置必须加上 Q_OBJECT 语句,它将告诉编译器在编译之前必须先应用 moc 工具进行扩展,从而才能够使用singal和slot机制。
VS中使用QT代码创建界面,无法实现SLOT函数,解决方法:
1).右击.h文件(使用QT代码创建界面的)-属性-配置属性-常规-项类型选成自定义生成工具-确定;
2).再次打开属性-看到界面中新增了一个自定义生成工具-修改其中的-常规-命令行、说明及输出
命令行:moc.exe -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -D_MSC_VER=1400 -DWIN32 -o moc_DlgEditAccount.cpp DlgEditAccount.h
说明:Running MOC
输出:moc_DlgEditAccount.cpp
确定保存
3).右击此.h文件-编译-生成一个moc_DlgEditAccount.cpp文件
4).右击源文件-添加-现有项-选中moc_DlgEditAccount.cpp,将其添加到源文件中
5).在生成的moc_DlgEditAccount.cpp中,添加#include "StdAfx.h"

 

======================补充,这样填写更具有一般性===================================

command line 内容:

"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."
"-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets"

Description内容:

Running MOC

outputs 内容:

.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp

Additional Dependencies 内容:

$(QTDIR)\bin\moc.exe;%(FullPath)

 

最后是将 ./GeneratedFiles\Debug下的moc_xxx.cpp 添加到源文件中

 

 

 

===================对于自定义的UI的编译配置===================

假设创建了 lesson03.ui文件

下面对其属性进行配置,目的是 由lesson3 通过uci生成 ui_lesson3.h头文件

方法同上面,只是配置内容有变化:

1、command line =

"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"

 

2、 Description = Uic%27ing %(Identity)...

 

3、Outputs = .\GeneratedFiles\ui_%(Filename).h;%(Outputs)

 

4、 Additional Dependencies = $(QTDIR)\bin\uic.exe;%(AdditionalInputs)

 

配置完成后,选择lesson03.ui右键 编译

将生成的ui_lesson03.h 添加到源文件中

 

抱歉!评论已关闭.