qt 入门 Hello world
刚开始学qt,该觉挺不错的,装了个开发环境,看了下demo太炫了,而且他是跨平台的,只需要在不同平台下编译一下就OK了,先记录一下helloWorld,哈哈。
环境如下:
系统:windows xp
qt:qt 2010.02.1版,目前最新的哈。
helloworld代码如下:
C++代码
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
QPushButton b("Hello World !");
b.show();
QObject::connect(&b,SIGNAL(clicked()),&app,SLOT(quit()));
return app.exec();
}
#include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc,argv); QPushButton b("Hello World !"); b.show(); QObject::connect(&b,SIGNAL(clicked()),&app,SLOT(quit())); return app.exec(); }
#include <QApplication>这个同文件好像是每个qt程序都要的,里面包含了QT应用程序的核心东西。
#include <QPushButton>当然是按钮的头文件了
main函数中:
先初始化一个QApplication 。
再初始化一个按钮。 QPushButton b("Hello World !");,
接着就是让按钮显示b.show();下面这句话是做牛的:
Java代码
QObject::connect(&b,SIGNAL(clicked()),&app,SLOT(quit()));
QObject::connect(&b,SIGNAL(clicked()),&app,SLOT(quit()));
QObject::connect()方法是qt中最重要的特性,即信号与槽机制。SIGNAL就是信号的意思啦,当b(就是按钮)被clicked了,他就发射了个信号。与这个Application(就是app)的SLOT(槽)就会响应这个信号。并执行quit().这样就退出了。
return app.exec();是让这个这个程序进入消息循环。
helloworld写好了,下面是运行这个:
步骤很简单。
加入我把源文件放在D:\qt这个目录,编译运行的过程如下:
1,qmake -project //创建qt项目的项目信息文件。创建好了是个.pro文件
2,qmake 这个命令会生成很多文件,最主要的是Makefile文件,这个文件像是ant的build脚本。
3,make,make是根据Makefile文件中的内容执行相应的任务,这里生成了中间文件和debug的exe文件(都在debug目录下),运行的个exe文件就能看到效果了。
特别注意:
在windows下面 make命令格式应该为nmake,打开VS的Command Prompt才行。
1.设置VS2005的环境变量
2.设置目标平台
set QMAKESPEC=win32-msvc2005
3.进入QTDIR目录运行配置,生成Makefile文件
configure -platform win32-msvc2005 -release -opensource -shared -fast -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -no-webkit -qt-style-windowsxp -qt-style-windowsvista
4.运行nmake /I /K(附带/I /K 选项可以避免出现错误时编译自动终止,用于跳过错误继续编译其它文件)
经过这样编译的Qt库不依赖mingwm10.dll,libgcc_s_dw2-1.dll,但依赖Qt库的Dll文件和微软的CRT运行时库,使用此Qt库编译Windows平台下的程序,发布时需带上用到的Qt链接库Dll文件和微软的CRT运行时库Dll文件。
补充:综合编程 , 其他综合 ,