初识Qt
一、维基百科定义:
Qt (/kjut/ "cute", or unofficially as Q-T cue-tee) is a cross-platform application framework that iswidely used for developing application software with a graphical user interface (GUI) (inwhich cases Qt is classified as awidget toolkit), and also used for developing non-GUI programssuch as command-line tools andconsoles for servers.
二、buntu中用命令安装:
sudo apt-get install qt4-dev-tools #开发包 sudo apt-get install qtcreator #IDE sudo apt-get install qt4-doc #开发帮助文档 sudo apt-get install qt4-qtconfig #配置工具 sudo apt-get install qt4-demos#DEMO源码
三、在终端下编写简单的Qt程序
查看Qt版本命令:
qmake –v Qmake version2.01a Using Qtversion 4.8.1 in /usr/lib/i386-linux-gnu
利用vim建立Qt源文件:
mkdir hello cd hello vim hello.cpp
在文件中键入下面的代码:
然后我们用qt的工具qmake来生成工程文件hello.pro:
qmake -project
生成Makefile文件:
qmake hello.pro
接下来就是make了,等上一段时间.
make
运行程序
./hello
结果:
下面是界面:
分析:
#include <qapplication.h> #include <qpushbutton.h> int main(int argc,char *argv[]) { QApplication app(argc,argv); QpushButton *hello = new QpushButton(“HelloQt! Xpspace!”,0); hello->resize(100,30); hello->show(); return app.exec(); }
注解:
第1、2行,包含两个类的定义。在每一个使用Qt的应用程序中都必须使用一个QApplication对象,QApplication管理了各种各样的应用程序的广泛资源。QPushButton是一个经典的图形用户界面按钮,用户可以按下去,也可以放开。一个QPushButton可以显示一段文本或者一个QPixmap。
第3行,为main函数是程序的入口。main()只需要在把控制转交给Qt库之前执行一些初始化,然后Qt库通过事件来向程序告知用户的行为。argc是命令行变量的数量,argv是命令行变量的数组。
第4行,为括号,不解释。
第5行,创建一个QApplication 对象。这个对象用于管理应用程序级别的资源。 QApplication 的构造函数要求两个参数,分别来自main的那两个参数,因此,Qt 在一定程度上是支持命令行参数的。
第6行,一个按钮被创建了。这个按钮被设置成显示“Hello Qt! Xpspace!”并且它自己构成了一个窗口。
第7行,这个按钮被设置成100像素宽,30像素高(加上窗口系统边框)。
第8行,表示当你创建一个窗口部件的时候,它是不可见的。你必须调用show()来使它变为可见的。
第9行,表示main()把控制转交给Qt,并且当应用程序退出的时候exec()就会返回。 在exec()中,Qt接受并处理用户和系统的事件并且把它们传递给适当的窗口部件。
第10行,大括号,程序结束。
注释:有的程序用到setMainWidget()函数,如果你用的Qt版本是4.0以上的会报错如下:
error: ‘class QApplication’ has no member named ‘setMainWidget’
错误是由于版本问题,setMainWidget是Qt3的,而在Qt4中,这个函数已经不用了,如果想兼容Qt3,可以再程序头文件前加以下语句(不能在头文件后):
#define QT3_SUPPORT
之后,带有setMainWidget的程序可以成功编译。