没有合适的资源?快使用搜索试试~ 我知道了~
QT 3.3 中文白皮书.pdf
需积分: 0 0 下载量 127 浏览量
2022-09-02
14:51:35
上传
评论
收藏 647KB PDF 举报
温馨提示
试读
40页
QT 3.3 中文白皮书.pdf
资源推荐
资源详情
资源评论
QT3.3 白皮书
Trolltech
www.trolltech.com
翻译者:陈华才
摘要
这本白皮书介绍了 QT C++工具包。QT 支持多种平台图形界面程序开发,有“一次编
写,处处编译”的说法。使用单一的源代码树和简单的重编译,能够在 Windows95~XP ,
Mac OS X,Linux, Solaris,HP-UX,和其他使用 X11 的 Unix 版本下编制程序。QT 应用
程序还可以编译成可在嵌入型环境中运行。QT 采用统一的被称为“对象与槽”的机制进行
对象间通信。QT 拥有对许多编程领域的完美支持:如 2D/3D 图形,国际化,XML 等。
QT 应用程序还可以用 QT Dsigner 进行可视化设计。
QT3.3 白皮书
Trolltech
www.trolltech.com
目录
1 介绍 …………………………………………………………………………………………4
1.1 执行摘要………………………………………………………………………………4
2 窗口部件 ……………………………………………………………………………………5
2.1 一个“Hello”的例子 ………………………………………………………………5
2.2 内建窗口部件…………………………………………………………………………6
2.3 自定义窗口部件………………………………………………………………………7
3 信号与槽 ……………………………………………………………………………………8
3.1 一个简单的信号与槽的例子…………………………………………………………9
3.2 元对象编译器…………………………………………………………………………10
4 图形界面程序 ………………………………………………………………………………11
4.1 主窗口类 ……………………………………………………………………………11
4.2 多文档接口……………………………………………………………………………13
4.3 对话框…………………………………………………………………………………13
4.4 锚接窗口………………………………………………………………………………14
4.5 设置……………………………………………………………………………………15
4.6 多线程…………………………………………………………………………………15
5 QT 设计器……………………………………………………………………………………15
5.1 Qt 助手 ………………………………………………………………………………16
5.2 图形界面程序实例 ……………………………………………………………………17
6 2D/3D 图形 …………………………………………………………………………………18
6.1 2D 图形 ………………………………………………………………………………18
6.2 3D 图形 ………………………………………………………………………………21
6.3 一个 3D 实例 …………………………………………………………………………22
7 数据库…………………………………………………………………………………………24
7.1 执行 SQL 命令…………………………………………………………………………24
7.2 数据相关部件 …………………………………………………………………………26
8 国际化…………………………………………………………………………………………26
8.1 Unicode ………………………………………………………………………………27
8.2 文本入口和渲染 ………………………………………………………………………27
8.3 翻译应用程序 …………………………………………………………………………27
8.4 Qt 语言学家……………………………………………………………………………28
9 风格与主题……………………………………………………………………………………29
9.1 内建风格 ………………………………………………………………………………29
9.2 风格相关部件 …………………………………………………………………………29
9.3 自定义风格 ……………………………………………………………………………29
10 布局…………………………………………………………………………………………30
10.1 内建布局管理器 ……………………………………………………………………30
10.2 嵌套的布局 …………………………………………………………………………31
10.3 自定义布局 …………………………………………………………………………32
11 事件…………………………………………………………………………………………32
11.1 事件的产生 …………………………………………………………………………32
11.2 事件的传递 …………………………………………………………………………32
12 输入/输出与网络 …………………………………………………………………………33
12.1 文件输入/输出………………………………………………………………………33
12.2 XML…………………………………………………………………………………34
12.3 进程间通信 …………………………………………………………………………34
12.4 网络 …………………………………………………………………………………34
13 集合类………………………………………………………………………………………35
13.1 基于值的集合 ………………………………………………………………………36
13.2 基于指针的集合 ……………………………………………………………………36
14 插件和动态连接库…………………………………………………………………………36
14.1 插件 …………………………………………………………………………………36
14.2 动态连接库 …………………………………………………………………………37
15 特殊平台扩展………………………………………………………………………………37
15.1 ActiveQT……………………………………………………………………………37
15.2 Motif ………………………………………………………………………………38
16 Qt 的体系结构 ……………………………………………………………………………38
16.1 微软 Windows ……………………………………………………………………39
16.2 X11 …………………………………………………………………………………39
16.3 Mac OS X …………………………………………………………………………40
16.4 嵌入式 Linux ………………………………………………………………………40
17 Qt 开发世界 ………………………………………………………………………………40
索引 ……………………………………………………………………………………………40
1 介绍
QT 是一个用于多种平台图形界面程序开发的 C++工具包。除 C++库之外,QT 还包含一些工具
让编写程序变得又快又直接。QT 的跨平台能力和国际化支持保证了 QT 应用程序占有尽可能广阔的市场。
自 1995 年以来 QT C++应用程序就在商业应用中占据核心地位。QT 在各种各样的公司被广泛应
用,比如 Adobe,IBM,Motorola,NASA,Volvo 和大量的小公司及组织。QT3.3 保持着早期版本
的易用性和功能,同时也增加了一些重要功能和新类的介绍。QT 类的特征是减少开发者的工作量,并
且提供可靠的接口来加速用户的学习。QT 是,并且一直是面向对象的。
本白皮书给出了 QT 工具和其功能的一个概览。每个部分都由一个非技术性的介绍开头,然后逐渐
深入地呈现出技术细节。源代码包和已完成的小程序都有提供。若要评估试用 30 天授权的 QT,请访问
http://www.trolltech.com/
1.1 执行摘要
QT 包括一组丰富的提供图形界面功能支持的窗口部件(Windows 术语叫控件)。QT 采用了一种
全新并且可选的被称为“信号与槽”的对象间通信机制,以代替老的,不安全的回调技术。QT 也提供
传统的事件模型用以处理诸如鼠标点击、击键等动作。QT 的跨平台 GUI 程序能使用现代程序所要求的
各种用户界面,比如菜单,背景菜单,拖拽与放下,工具栏等。
直观的命名规则和统一的编程步骤简化了代码编写。QT 还包含了一个叫 QT 设计器的图形化设计界
面。QT 设计器支持含无限制定位在内的强大的布局能力。QT 设计器可以用于纯粹的 GUI 设计,也可
以利用其内建的代码编辑器来创建完整的应用程序。
QT 拥有对 2D/3D 图形的完美支持。QT 是事实上用于独立于平台的 QpenGL 编程的标准 GUI 工
具包。
利用标准的数据库,QT 使创建独立于平台的数据库应用成为可能。QT 的内建驱动支持 Oracle,
Microsoft SQL Server,Sybase Adaptive Server,IBM DB2,PostgreSQL,MySQL,Borland
Interbase,SQLite,以及各种 ODBC 的数据库。QT 的数据库功能完全集成到了 QT 设计器中,能提供
数据库的生动的预览。QT 包括专门的数据库组件,并且任何内建的或自定义的组件都可以数据相关。
在所有支持 QT 风格和主题的平台上,QT 程序的外观与本机相同。源于单一的源码树,要产生
Windows 95~XP,Mac OS X,Linux,Solaris,HP-UX 和其他带 X11 的 Unix 上的应用程序,只需重
新编译一次即可。QT 应用程序也可以编译为在嵌入式环境中运行。QT 的 qmake 构件工具能产生
makefiles 或者.dsp 文件以适应目标平台。
自从 QT 的体系结构在基本系统上体现其优势以来,许多客户在 Windows,Mac OS X 和 Unix 上
用 QT 来进行单一平台的开发,因为他们喜欢 QT 的方法。QT 包括许多重要的特殊平台的特征,比如
Windows 上的 ActiveX,Unix 上的 Motif。
QT 普遍使用 Unicode 并且有良好的国际化支持。QT 包括 QT Linguist 等工具可用来协助翻译。
应用程序可以很容易地使用和混合使用用阿拉伯语,汉语,英语,希伯来语,日语,俄语以及其他
Unicode 所支持的语言所写成的文本。
QT 包括许多专用领域的类。比如,QT 拥有包括 SAX、DOM 语法分析器的 XML 模块。使用 QT
的 STL 兼容的集合类能够把对象储存在内存里面。QT 的 I/O 类和网络类提供使用标准协议来处理本地
和远程文件的能力。
通过插件和动态连接库可以扩展 QT 程序的功能。插件可以提供附加的代码,数据库驱动,图象格
式,风格和部件。插件和库可以以它们自己的版权为名义出售。
QT 是全世界广为使用的成熟的 C++工具包。除广泛的商业应用之外,QT 自由版是一个叫 KDE
的 Linux 桌面环境的基础。QT 的跨平台构件系统,可视化设计,优美的 API 使程序开发成为一件乐事。
在线参考:
http://www.trolltech.com/references/customers/
http://www.trolltech.com/references/partners/
2 窗口部件
QT 拥有一系列能适用于大多数情况的窗口部件(按钮,滚动条等)。QT 的窗口部件易用且富有弹
性,能够适应子类的特殊要求。
QT 提供了一整套的窗口部件。它们组合起来可用于创建用户界面的可视元素。按钮,菜单,滚动
条,消息框和应用程序窗口都是窗口部件的实例。QT 的窗口部件不能任意地分为控件和容器;因为所
有的窗口部件既是控件又是容器。通过子类化已存在的 QT 部件或少数时候必要的全新创建,自定义的
窗口部件能很容易地创建出来。
窗口部件是 QWidget 或其子类的实例,自定义的则通过子类化得来。
一个窗口部件可包含任意数量的子部件。子部件在父部件的区域内显示。没有父部件的部件是顶级
部件(比如一个窗口),通常在桌面环境的任务栏上有它们的入口。QT 不在窗口部件上施加任何限制。
任何部件都可以是顶级部件;任何部件都可以是其他部件的子部件。通过自动或手动(如果你喜欢)地
使用布局管理器可以设定子部件在父部件区域中的位置。如果父部件被停用,隐藏或删除,同样的动作
会递归地应用于它的所有子部件。
图 1 源自 QWidget 的类层次结构。
标签,消息框,工具提示等,并不局限于使用同一种颜色,字体和语言。通过使用 HTML 的一个
子集,QT 的文本渲染部件能够显示多语言多信息的文本。参见“文本入口与渲染”。
2.1 一个“Hello”实例
图 2 Hello Qt!
显示“Hello Qt!”的程序的完整源码如下:
#include <qapplication.h>
#include <qlabel.h>
int main(int argc,char **argv)
{
QApplication app(argc,argv);
QLabel *hello=new QLabel("<font color-blue>Hello <i>Qt!</i>""</font>",0);
剩余39页未读,继续阅读
资源评论
c601806093gx
- 粉丝: 0
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功