首页 > 代码库 > Qt初识

Qt初识

初识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


在文件中键入下面的代码:

wKioL1Qs_qzSjd-2AAJeKu9XHF0681.jpg

然后我们用qt的工具qmake来生成工程文件hello.pro

qmake -project

生成Makefile文件:

qmake hello.pro

接下来就是make了,等上一段时间.

make

运行程序

./hello

wKioL1Qs_w2Bu3ksAAIN391XeEQ530.jpg


结果:

下面是界面:

wKioL1Qs_5eyC2HSAAAo02qrQ5Y460.jpg


分析:

#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();
}

 

注解:

12行,包含两个类的定义。在每一个使用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的程序可以成功编译。

 

 



Qt初识