资源描述:
《Linux下QT图形界面开发(一)——概述(1)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、QT简介Qt是一个跨平台的C++图形用户界面库,.由挪威TrollTech公司出品,目前包括Qt/Xll,基于Frambuffer的QtEmbedded,快速开发工具QtDesigner儿国际化工貝QtLinguist等.Qt支持Unix及Linux系统,还支持WindowsNT/Windows2k及Qindows95/98平台.Qt的良好封装机制使其模块化程度非常高,可重用性较好.Qt/Embeded是面向嵌入式系统的Qt版本,是Qt的嵌入式Linux窗口,是完整的自包含C++GUI和基于Linux的嵌入式品台开发工具。Qt/Em
2、bededAPInJ'用于多种开发项目。许多基于Qt的XWindow程序可以非常方便地移植到恢入式版本。下而我们就从实际应用屮认识Qt.二、在终端下编写Qt程序我们先要介绍在终端窗口编写Qt程序.打开一个终端,建立一个文件夹,如:mkdirhello然后进入这个文件夹:cdhello创建c++文件,vihello,cpp在文件中键入卞面的代码:#inelude#includeintmain(intargc,char*argv[J){QApplicationapp(argc,argv);
3、QLabel*label二nowQLabel(Z/HelloQt!",0);app.set'kiinWidget(label);label->show();returnapp.exec();然后我们用qt的工具qmako来生成工程文件:qmake-project大家可以用Is查看一下,是不是多了一个名为hello.pro的工程文件.接下来是生成Makefile文件:qmakehello.pro呵呵,Is—K,Makefile终于看到你的.接下来就是makeT,等上一段时间.运行程序./hello下面是界面:下血我们來讲解上血的程序:#i
4、nclude这一行包含了0Application类的定义。在每一个使用Qt的应用程序中都必须使用一个QApplication对彖。QApplication管理了各种各样的应用程序的广泛资源,比如默认的字体和光标。#include这一行包含了OPushButton类的定义。参考文档的文件的最上部分提到了使用哪个类就必须包含哪个头文件的说明。QPushButton是一个经典的图形用户界面按钮,用户可以按下去,也可以放开。它管理白己的观感,就像具它每一个OWidgct。-•个窗口部
5、件就是一个可以处理川户输入和绘制图形的用八界而对象。程序员可以改变它的全部观感和它的许多主要的属性(比如颜色),还有这个窗口部件的内容。一个QPushButton可以显示一段文本或者一个QPixmapointmain(intargc,char**argv)main()函数是程序的入口。几乎在使用Qt的所有情况下,main()只需要在把控制转交给Qt库之前执行一些初始化,然后Qt库通过事件来向程序告知用户的行为。argc是命令行变量的数量,argv是命令行变量的数组。这是一个C/C++特征。它不是Qt专有的,无论如何Qt需要处理这些变量(
6、请看下面)。OApplicationa(argc,argv);a是这个程序的OADDlication。它在这里被创建并H•处理这些命令行变量.在任何Qt的窗口系统部件被使用之前创建QApplication对象是必须的。OPushBuHonhello(“Helloworld!H,0);这里,在QApplication乏后,接着的是第一个窗口系统代码:一个按钮被创建了。这个按钮被设直成显示“Hellowodd!”并且它H己构成了一个窗口(因为在构造函数指定0为它的父窗口,在这个父窗口中按钮被定位)。hello.resize(100,30);
7、这个按酒被设置成100像素宽,30像素高(加上窗口系统边框)。在这种情况下,我们不用考虑按钮的位置,并且我们接受默认值。a.setMainWidget(&hello);这个按钮被选为这个应用程序的主窗口部件。如果用户关闭了主窗II部件,应用程序就退出了。你不用必须设置一个主窗口部件,但绝大多数程序都冇一个。hello.showQ;当你创建一个窗口部件的吋候,它是不可见的。你必须调用Show()来使它变为可见的。returna.execQ;这里就是main()把控制转交给Qt,并R当应用程序退出的时候exec()就会返回。在cxccO中,
8、Qt接受并处理用八和系统的事件并且把它们传递给适当的窗口部件。