Qt在VC++ 6.0下的编写和编译
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二 命令 qmake 创建 VC 项目文件
2.1 创建 Qt 工程
1、在 C 盘根目录下创建一个文件夹 qt3test,并新建一个.cpp 文件 qt3test.cpp
mkdir qt3test cd qt3test echo > qt3test.cpp
// 创建文件夹 qt3test // 进入文件夹 qt3test // 生成 qt3test.cpp
// 变量 path 的值
注意,将此变量值追加到 path 变量的值中,即指向 Qt 的安装目录及其下的 Bin 和 Lib 目录:C:\Qt\3.1.2\bin
1.2 添加 msvc 编译器的环境变量
通常安装好 VC++6.0 后,环境变量就已经配置好。 如果它的环境变量丢失,可以到 VC 的安装目录的 Bin 目录中,执行 VCVARS32.BAT 批处理文件即可恢复。 VCVARS32.BAT 目录:C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT 最后说明一点,在 Windows XP 中,环境就是分为用户变量与系统变量两部分,通常配置环境变量时,修改 用户变量部分的环境变量即可生效;如果修改系统变量部分的环境变量,有时可能需要重启系统。
3.2 编译程序
在命令行中编译程序,请输入:
qmake -project nmake
// 更新项目文件 qt3test.pro // 编译程序
特别要注意:如果你通过 VC++的 IDE 来编译执行程序,则会出现类似如下的连接错误:
qt3test.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall
// 查看环境变量 QTDIR
C:\Qt\3.1.2
// 变量 QTDIR 的值
注意,指向你的机器中 Qt 的安装目录:C:\Qt\3.1.2
变量名:path
变量值:%QTDIR%;%QTDIR%\bin;%QTDIR%\lib;
C:\>echo %path%
// 查看环境变量 path
C:\Qt\3.1.2\bin; …
Qt 在 VC++ 6.0 下的编写和编译
目录
前言 ..................................................................................................................................................1 一 配置 Qt 和 msvc 环境变量.........................................................................................................2
4、使用 VC++来编辑源代码,所以需创建一个 VC++的项目文件 qt3test.dsp,请输入:
qmake -tp vc qt3test.pro
// 生成 qt3test.dsp
以上四步,生成的文件在 C:\qt3test 文件夹里,如下图所示:
2.2 编写代码
启动 VC++集成开发环境 VC6.0,打开 qt3test.dsp,然后编写源代码 qt3test.cpp,保存: #include <qapplication.h> #include <qwidget.h> int main(int argc, char **argv) { QApplication app(argc, argv); QWidget *widget = new QWidget( 0 ); app.setMainWidget( ຫໍສະໝຸດ Baiduidget ); widget->show(); return app.exec(); }
void theSlot(); }; #endif 2、新建 myclass.cpp 文件 #include "myclass.h" #include <qmessagebox.h>
void AClass::theSlot() {
QMessageBox::information( 0, "AClass", "AClass::theSlot()" ); emit theSignal(); } void BClass::theSlot() { QMessageBox::information( 0, "BClass", "BClass::theSlot()" ); } 3、修改 qt3test.cpp 文件 #include <qapplication.h> #include <qwidget.h> #include <qpushbutton.h> #include "myclass.h"
2.3 编译程序
在命令行窗口中编译程序,请输入:
qmake –project
// 更新项目文件 qt3test.pro
nmake
// 编译程序
注意,会出现一些连接警告信息,不用管它就是了。警告信息内容可能如下:
LINK : warning LNK4199: /DELAYLOAD:comdlg32.dll ignored; no imports found from comdlg32.dll
int main(int argc, char **argv) {
QApplication app(argc, argv); QWidget *widget = new QWidget( 0 ); QPushButton *button = new QPushButton( widget ); button->setText( "Press Me" ); AClass *a = new AClass; BClass *b = new BClass; QObject::connect( button, SIGNAL(clicked()), a, SLOT(theSlot()) ); QObject::connect( a, SIGNAL(theSignal()), b, SLOT(theSlot()) ); app.setMainWidget( widget ); widget->show(); return app.exec(); }
前言
本文档环境 操作系统 : Windows XP SP3 (32bit) VC 编译器: VC++6.0 SP6 Qt 版本库: V3.1.2
一 配置 Qt 和 msvc 环境变量
1.1 添加 Qt 的环境变量
变量名:QMAKESPEC
变量值:win32-msvc
C:\>echo %qmakespec%
...
2.4 运行程序
qt3test.exe 这时会弹出一个窗口:
// 运行可执行程序
运行 qt3test 程序,出现上图画面,恭喜您!否则请检查上述步骤,看是否都配置正确。。。
三 编写基于 QObject 的 Qt 类
在上面的代码基础上,添加两个 Qt 类,并添加信号和槽。
3.1 添加一个新类
1、新建 myclass.h 文件 #ifndef _MYCLASS_H #define _MYCLASS_H #include <qobject.h>
1.1 添加 Qt 的环境变量..........................................................................................................2 1.2 添加 msvc 编译器的环境变量..........................................................................................2 二 命令 qmake 创建 VC 项目文件 .................................................................................................2 2.1 创建 Qt 工程......................................................................................................................2 2.2 编写代码............................................................................................................................3 2.3 编译程序............................................................................................................................3 2.4 运行程序............................................................................................................................3 三 编写基于 QObject 的 Qt 类 .......................................................................................................4 3.1 添加一个新类....................................................................................................................4 3.2 编译程序............................................................................................................................5 3.3 运行程序............................................................................................................................5 四 总结.............................................................................................................................................6
class AClass : public QObject {
Q_OBJECT public slots:
void theSlot(); signals:
void theSignal(); }; class BClass : public QObject {
Q_OBJECT public slots:
2、利用 qmake 命令,创建一个和平台无关的项目文件 qt3test.pro,请输入:
qmake –project
// 生成 qt3test.pro
3、根据项目文件 qt3test.pro,创建一个平台特定的 Makefile,请输入:
qmake qt3test.pro
// 生成 Makefile
// 查看环境变量 QMAKESPEC
win32-msvc.net
// 变量 QMAKESPEC 的值
注意,win32-msvc 为 Qt 安装目录下 mkspecs 目录中的一个同名目录:C:\Qt\3.1.2\mkspecs\win32-msvc
变量名:QTDIR
变量值:C:\Qt\3.1.2
C:\>echo %qtdir%