qt语言介绍

上传人:小** 文档编号:90672615 上传时间:2019-06-14 格式:PPT 页数:131 大小:1.50MB
返回 下载 相关 举报
qt语言介绍_第1页
第1页 / 共131页
qt语言介绍_第2页
第2页 / 共131页
qt语言介绍_第3页
第3页 / 共131页
qt语言介绍_第4页
第4页 / 共131页
qt语言介绍_第5页
第5页 / 共131页
点击查看更多>>
资源描述

《qt语言介绍》由会员分享,可在线阅读,更多相关《qt语言介绍(131页珍藏版)》请在金锄头文库上搜索。

1、QT,Qt- C+图形用户界面库,一 QT介绍,Qt- C+图形用户界面库,1. Qt是一个跨平台的C+图形用户界面库,由Nokia公司出品。目前产品包括Qt、Qt/Embedded、快速开发工具Qt Designer、国际化工具Qt Linguist等部分。Qt支持Unix,Linux,Windows,WinCE,Symbian。 2. Qt是基于面向对象的C+语言,它提供了信号(signal)和槽(slot)的对象通信机制,具有可查询和可设计的属性,以及强大的事件和事件过滤器。同时,它还具有字符国际化,即支持根据上下文进行国际化字符串翻译。许多Qt特性基于QObject的继承,通过标准C+

2、技术实现。,Qt介绍,Qt- C+图形用户界面库,3. Qtopia是为了Linux的PDA、智能电话和其他移动设备设计的一个全面并且可以用户化的应用程序平台和用户界面。 4. Qt/Embedded 是面向嵌入式系统的Qt版本,是Qt的嵌入式Linux窗口,是完整的自包含C+GUI(图形用户界面)和基于Linux的嵌入式平台开发工具。Qt/Embedded API可以用于多种开发项目。许多基于Qt的X Window程序可以非常方便地移植到嵌入式版本,适用于高端PDA等产品。Qt/Embedded内部对于字符集的处理采用了UNICODE编码标准。,Qt- C+图形用户界面库,一 QT介绍 二

3、QT特征,Qt特征,Qt- C+图形用户界面库,Qt作为新型的GUI开发工具,具有与一般的工具包所不同的特征,使它的应用非常广泛。 2.1.面向对象 2.2.组件间的相互通信 2.3.友好的联机帮助 2.4.用户自定义 2.5.方便性 2.6.国际化 2.7.丰富的API函数 2.8.完整的一套控件 2.9.高性能的工具 2.10.GUI竞争 2.11.可用户化的外观 2.12.优越的绘画功能 2.13.绘制2D/3D图形功能,Qt特征,Qt- C+图形用户界面库,2.1.面向对象 Qt具有模块设计和控件或元素的可重用性的特点。一个控件不需 要知道它的内容和用途,通过signal和slot与外

4、界通信、交流。而且,所 有Qt的控件都可通过继承。 2.2.控件间的相互通信 Qt提供signal和slot概念,这是一种安全可靠的方法,它允许回调, 并支持对象之间在彼此不知道对方信息的情况下,进行合作,这使Qt非 常合适于真正的控件编程。 2.3.友好的联机帮助 Qt包括大量的联机参考文档,有超文本HTML方式、UNIX帮助页、 man手册和补充的指南。对于初学者,指南将一步步地解释Qt编程。,Qt特征,Qt- C+图形用户界面库,2.4.用户自定义 其他的工具包在应用时都存在一个普遍的问题,就是经常没有真正 适合需求的控件,生成的自定义控件对用户来说,也是一个黑匣子。比 如,在Motif

5、手册中就讨论了用户自定义的控件的问题。而在Qt中,能够 创建控件,具有绝对的优越性,生成自定义控件非常简单,并且容易修 改控件。 2.5.方便性 由于Qt是一种跨平台的GUI工具包,所以,它对编程者隐藏了在处 理不同窗口系统时的潜在问题。为了将基于Qt程序更加方便,Qt包含了 一系列类,该类能够使程序员避免了在文件处理、时间处理等方面存在 依赖操作系统方面的细节问题。,Qt特征,Qt- C+图形用户界面库,2.6.国际化 Qt为本地化应用提供完全的支持,所有用户界面的文本或字符串都可 以利用翻译工具将其译成各国语言。 2.7.丰富的API函数 为了适合用户的需求,Qt的API提供了C+类,用于

6、专门的GUI。 Qt还提供了基于模板的初始化、文件和通用的I/O设备、目录管理、 日期/时间类、常用表达式解析等。目的是利用这些类,建立或生成 不同的功能,用它们来实现Qt的通用化。除此之外,也可以利用STL 标准模块库或其他工具包。,Qt特征,Qt- C+图形用户界面库,2.8.完整的一套控件 Qt编程的基本模块(构件)称为控件,一个控件是一个用户界面的组 成部分,比如按钮、滚动条。Qt包含用来创建专业外观的用户界面所需 要的所有控件。 2.9.高性能的工具 对于库来讲,它的有效性远超过应用性。为了提高Qt库的有效性、 快捷性,对其进行了优化,Qt能执行一些基本的任务,比如图形的润色, 比一

7、般的基于平台的代码要快。Qt是基于Xlib, 而不依赖Motif工具包。,Qt特征,Qt- C+图形用户界面库,2.10.GUI竞争 大多数GUI工具包是基于分层的方法。比如,工具包为本地窗口系 统组件提供了很多C+类,这种结构使组件的继承性和通用性变得很差。 在层次化的工具包中,GUI功能常成为所有使用的窗口系统所必须的最普 遍的基础。Qt仿效本地窗口系统的组件,这是一种非常复杂的技术。Qt 还提供一些更有用的函数,类似文本的旋转,适用于多种平台。 2.11.可用户化的外观 Qt支持主题,所以基于Qt的应用软件能在Mac外观、 Windows等外 观主题之间互换,甚至改变运行时间。这些应用程

8、序不管是在X Window 下,还是在Microsoft Windows下都可以独立操作、运行。,Qt特征,Qt- C+图形用户界面库,2.12.优越的绘画功能 Qt的绘画工具QPainter类,在任意一个绘图设备上都可以润色图形。 绘图设备包括组件、像素映射、图形文件和打印机,相同的代码可以用 在4种不同类型的设备上。 QPainter类支持复杂的同等系统的转换,很容 易在所有平台上画旋转文本和像素映射。 2.13.绘制2D/3D图形功能 Qt提供了QGLWidget类,使用该类能够绘制2D/3D图形。用 QGLWidget就像用一个Qt组件一样方便。这比纯粹的用OpenGL做的3D 图形更

9、好使用。,Qt- C+图形用户界面库,一 QT介绍 二 QT特征 三 QT组成部分,Qt系统构造,Qt- C+图形用户界面库,Qt系统构造,Qt- C+图形用户界面库,QtCore不但包含QString、QList和QFile等工具类,而且包含QObject和QTimer等内核类。因为QApplication类有refactored,所以它能使用在非GUI应用程序中。它将拆分为:QCoreApplication(在QtCore中)和QApplication(在QtGui中)。 这种拆分将使用Qt开发服务器应用程序,无需连接所有多余的与GUI相关的代码,无需要求与GUI相关的系统程序将要放到当前

10、的目标机器中成为可能。(例如:Xlib在X11上,Carbon在Mac OS X上)。,Qt系统构造,Qt- C+图形用户界面库,如果你想利用qmake命令生成Makefile文件,qmake将默认链接到你的应用程序依赖的QtCore和QtGui中。如果你想删除具有依赖关系的GUI,请在您的.profile文件中加入以下内容: QT -= gui 如果想使用其他的库文件,请加入以下内容: QT += network opengl 如果你要编译.ui文件,你也需要在.pro文件中加入以下内容: CONFIG +=uic3,a very powerful mechanism for seamles

11、s object communication called signals and slots powerful events and event filters contextual string translation for internationalization sophisticated interval driven timers that make it possible to elegantly integrate many tasks in an event-driven GUI hierarchical and queryable object trees that or

12、ganize object ownership in a natural way guarded pointers (QPointer) that are automatically set to 0 when the referenced object is destroyed, unlike normal C+ pointers which become dangling pointers when their objects are destroyed a dynamic cast that works across library boundaries.,Qt-对C+的扩展,Qt- C

13、+图形用户界面库,一 QT介绍 二 QT特征 三 QT系统构造 四 QT的类,Qt系统的类,Qt- C+图形用户界面库,Qt系统的类,Qt- C+图形用户界面库,Qt- C+图形用户界面库,一 QT介绍 二 QT特征 三 QT组成部分 四 QT的类 五 QT的控件,Qt的组件,Qt- C+图形用户界面库,5.1 按钮 5.1.1 推动按钮 5.1.1.1 推动按钮的描述 推动或者命令按钮是任何GUI(图形用户界面)中最常用的窗口部件, 它来命令计算机执行一些操作,或者回答一个问题。典型的按钮有确定 (OK)、应用(Apply)、撤消(Cancel)、关闭(Close)、是(Yes)、否(No)

14、和 帮助(Help)等。 该按钮是矩形的,并且通常显示一个文本标签来描述它的操作。标 签中有下划线的字母(在此它的前面用“ 这个实例中快捷键是Alt+H,并且文本标签将被显示为Help。,Qt的组件,Qt- C+图形用户界面库,5.1.1.2 推动按钮的成员 QPushButton ( QWidget * parent = 0 ) 构造一个没有文本的推动按钮,参数为parent。 QPushButton ( const QString & text, QWidget * parent = 0 ) 构造一个父对象为parent、文本为text的推动按钮。 QPushButton ( const

15、QIcon & icon, const QString & text, QWidget * parent = 0 ) 构造一个图标为icon、文本为text、父对象为parent的推动按钮。 注意:您可以传递一个QPixmap作为一个图标(感谢由C+提供的隐含类 型转换)。,Qt的组件,Qt- C+图形用户界面库,QPushButton () 销毁这个推动按钮。 void QButton:setText ( const QString & ) 设置这个按钮上显示的文本。 void QButton:pressed () 当这个按钮被按下的时候,将要发射该信号。 void QPushButton:

16、setMenu ( QMenu * menu ) 这个按钮与弹出式的菜单menu联系在一起。这样就可以把一个普通的 按钮变成菜单按钮,在该按钮的文本的右边会出现一个倒置的小三角。,Qt的组件,Qt- C+图形用户界面库,5.1.1.3 推动按钮的实例 该实例的功能,当您按下退出按钮的时候,就会退出系统。 以下是该实例的代码: /* main.cpp */ #include /当窗口初始化的时候,引用的头文件 #include /定义QPushButton对象,引用的头文件 int main(int argc,char *argv) QApplication app(argc,argv); /窗体初始化 QPushButton *pushbutton = new QPushButton(“Quit“); QObject:connect(pushbutton,SIGNAL(clicked(),pushbutton,SLOT(close(); pushbutton-show();/显示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号