## 1.1 Qt 简介
首先让我们看看业界对于 Qt 的评论:
“Qt 将帮助我们为用户提供空前‘诱人’的应用程序。诺基亚对跨平台 Qt 库和 Linux 平台的一贯投入,是免费软件桌面和移动设备堆栈创新的主要驱动力。 ”
Mark Shuttleworth, Ubuntu 项目创始人
“Qt 是极具创新的和实用的技术。包含了 QtWebKit 的 Qt 提供了一个强大的,跨平 台的网络体验,确保了我们的 3D 环境所具备的身临其境的感觉。我们渴望将 QtWebkit 纳 入到‘Second Life‘中,从而提高在 Web 上的虚拟世界的集成度。”
Linden LabJoe Miller,
Linden 实验室平台与技术开发部副总裁 看起来,Qt 是如此的吸引人,那么就让我带您走进 Qt 的世界吧。
1\.关于 Qt
Qt 是一个已经形成事实上的标准 的 C++ 框架,它被用于高性能的跨平台软件开发。 除了拥有扩展的 C++类库以外,Qt 还提供了许多可用来直接快速编写应用程序的工具。此 外,Qt 还具有跨平台能力并能提供国际化支持,这一切确保了 Qt 应用程序的市场应用范 围极为广泛。
自 1995 年以来,Qt 逐步进入商业领域,它已经成为全世界范围内数千种成功的应用 程序的基础。Qt C++ 框架一直是商业应用程序的核心。无论是跨国公司和大型组织(例 如:Adobe®、Boeing®、Google®、IBM®、Motorola®、NASA、Skype®)、还是无数小型公司 和组织都在使用 Qt。Qt 也是流行的 Linux 桌面环境 KDE 的基础(KDE 是所有主要的 Linux 发行版的一个标准组件)。Qt4 在新增更多强大功能的同时,旨在比先前的 Qt 版本更易于 扩展和使用。Qt 的类功能全面,提供一致性接口,更易于学习使用,可减轻开发人员的工 作负担、提高编程人员的效率。另外, Qt 一直都是完全面向对象的,并且允许真正的组件编程。
Qt 软件前身为 Trolltech (奇趣科技),2008 年 6 月被诺基亚收购。更多关于 Qt Software 的信息,请访问网站 www.qtsoftware.com。
下面是 Qt4 的 Logo,Qt 通常以清新的绿色作为自己的宣传色,图中中间区域是一个大 写的 Q 字母,里面斜向嵌入了大写的 T 字母,在右上角表明了 Qt 的版本。
![](https://box.kancloud.cn/2016-01-22_56a1a13d034de.png)
2\.关于 Trolltech (奇趣科技)
图 1-1 Qt4 的 Logo
Trolltech 是由 Haavard Nord (执行总裁) 和 Eirik Chambe-Eng (总裁)于 1994 年创立的,2008 年 6 月被 NOKIA 收购。过去十几年来,Trolltech 的销售业绩持续增长。 Trolltech 采取了成功的双重授权战略,为开发者提供商业和免费软件的授权使用。 它的创始人秉持财富共享的理念,已捐献出 Trolltech 公司 5%的资产给慈善基金会。 它拥有遍布全球 60 个国家的 4400 个客户,其中包括 Adobe, IBM(国际商用机器公司),Sharp(夏普)、Siemens(西门子)以及其他全球知名公司。目前,拥有来自 17 个不同国家的 雇员。 Trolltech 公司的总部位于挪威的奥斯陆,并在澳大利亚的布里斯班,中国北京及 美国加利福尼亚的帕洛阿尔托设有办事处。
3\.关于 Nokia(诺基亚)
诺基亚是移动世界的全球领先者,引领着互联网及通信融合产业的转型与发展。凭借多样化的移动终端产品、软件与服务,诺基亚为人们带来了音乐、导航、视频、电 视、影像、游戏、移动商务等丰富体验。面向用户的互联网服务的发展以及企业解决方案和软件业 务的增长是诺基亚发展的重点。此外,诺基亚还通过诺基亚西门子通信公司为通信网络提供设备、解决方案和服务。
4\. Qt 支持的平台(以 4.5 版为准)
Qt4.5 可提供于下列平台:
+ Windows (Microsoft Windows Vista,XP, 2000, 2003,NT4, Me/98)
+ WinCE
+ Mac (Mac OS X)
+ X11 (Linux, Solaris, HP-UX, IRIX, AIX, ... 以及其他 UNIX 系统)
+ Embedded Linux
表 1-1 所示为 Qt4.5 支持的平台和编译器的详细情况,表 1-2 为 Qt4.5 不支持的平台 和编译器的详细情况。
表 1-1 Qt4.5 支持的平台情况
| 软件平台 | 硬件架构 | Makespec | 编译器 |
| --- | --- | --- | --- |
| Microsoft Windows | Intel 32/64-bit | win32-g++, win32-icc, win32-msvc2003, win32-msvc2005 win32-msvc2008 | GCC 3.4.2 (MinGW) (32-bit), Intel icc, MSVC 2003, MSVC 2005 (32 and 64-bit), MSVC 2008 |
| Windows CE | Intel 32-bit, ARMv4i, MIPS | Wince-msvc2005, wince-msvc2008 | Visual Studio 2005 Visual Studio 2008 |
| Linux (32 and 64- | Intel 32/64-bit, | Linux-g++ | GCC 3.3, |
| bit) | Itanium, | linux-icc | GCC 3.4, |
| MIPS | linux-icc-32 | GCC 4.0, |
| linux-icc-64 | GCC 4.1, 4.2, 4.3 |
| Embedded Linux | ARM, | qws/linux-arm-g++, | GCC 3.4, |
| Intel 32-bit, | qws/linux-x86-g++, | GCC 4.1, |
| MIPS, | qws/linux-g++ | GCC 4.2, |
| PowerPC | GCC 4.3 |
| Apple Mac OS X (32- bit) | Intel 32/64-bit, PowerPC | Macx-g++ macx-g++42 | GCC 4.0.1, GCC 4.2 |
| Solaris | SPARC, Intel 32-bit | Solaris-cc solaris-g++ | Sun CC 5.5 GCC 3.4.2 |
| AIX | PowerPC | Aix-xlc aix-xlc-64 | xlC 6 |
| HPUX | PA/RISC,Itanium | Hpux-acc hpux-g++ hpux-g++-64 hpuxi-acc | A.03.57 (aCC 3.57) GCC 3.4.4 A.06.10 (aCC 6.10) |
表 1-2 Qt4.5 不支持的平台情况
| 软件平台 | 硬件架构 | Makespec | 编译器 |
| --- | --- | --- | --- |
| Windows XP/Vista | Intel 32/64-bit | win32-msvc | Visual C++ 6.0 |
| Windows XP/Vista | Intel 32/64-bit | win32-msvc2002 | Visual Studio 2002 |
| Windows XP/Vista | Intel 32/64-bit | win32-msvc.net | Visual Studio 2002 |
| IRIX | MIPS | irix-cc | MIPS Pro |
| IRIX | MIPS | irix-g++ | GCC 3.3 |
- 第 1 章 走近 Qt
- 1.1 Qt 简介
- 1.2 Qt 纪事概览
- 1.3 Qt 套件的组成(以 Qt4.5 为准)
- 1.4 Qt 的授权
- 1.5 Qt 的产品
- 1.6 Qt 的服务与支持
- 1.7 Qt 的最新进展
- 1.8为什么选择 Qt
- 1.9 问题与解答
- 1.10 总结与提高
- 第 2 章 Qt 的安装与配置
- 2.1 获取 Qt
- 2.2 协议说明
- 2.3 安装 Qt
- 2.4 配置 Qt4 环境
- 2.5 问题与解答
- 2.6 总结与提高
- 第 3 章 Qt 编程基础
- 3.1 标准 C++精讲
- 3.2 Windows 编程基础
- 3.3 Linux 编程基础
- 3.4 Mac 编程基础
- 3.5 问题与解答
- 3.6 总结与提高
- 第 4 章 Qt 4 集成开发环境
- 4.1 常见的 Qt IDE
- 4.2 Qt Creator
- 4.3 Eclipse
- 4.5 问题与解答
- 4.6 总结与提高
- 第 5 章 使用 Qt 基本 GUI 工具
- 5.1 使用 Qt Designer 进行 GUI 设计
- 5.2 使用 Qt Assistant 获取在线文档与帮助
- 5.3 使用 Qt Demo 学习 Qt 应用程序开发
- 5.4 问题与解答
- 5.5 总结与提高
- 第 6 章 Qt 4 程序开发方法和流程
- 6.1 开发方法
- 6.2 Hello Qt
- 6.3 几个重要的知识点
- 6.4 问题与解答
- 6.5 总结与提高
- 第 7 章 对话框
- 7.1 QDialog 类
- 7.2 子类化 QDialog
- 7.3 快速设计对话框
- 7.4 常见内建(built in)对话框的使用
- 7.5 模态对话框与非模态对话框
- 7.6 问题与解答
- 7.7 总结与提高
- 第 8 章 主窗口
- 8.1 主窗口框架
- 8.2 创建主窗口的方法和流程
- 8.3 代码创建主窗口
- 8.4 使用 Qt Designer 创建主窗口
- 8.5 中心窗口部件专题
- 8.6 Qt4 资源系统专题
- 8.7 锚接窗口
- 8.8 多文档
- 8.9 问题与解答
- 8.10 总结与提高
- 第 9 章 Qt 样式表与应用程序观感
- 9.1 应用程序的观感
- 9.2 QStyle 类的使用
- 9.3 样式表概述
- 9.4 使用样式表
- 9.5 问题与解答
- 9.6 总结与提高
- 第 10 章 在程序中使用.ui 文件
- 10.1 uic 的使用
- 10.2 Ui_YourFormName.h 文件的组成
- 10.3 编译时加入处理.ui 文件的方法
- 10.4 运行时加入处理.ui 文件的方法
- 10.5 信号与槽的自动连接
- 10.6 问题与解答
- 10.7 总结与提高 本章主要讲解了以下内容:
- 第 11 章 布局管理
- 11.1 基本概念和方法
- 11.2在 Qt Designer 中使用布局
- 11.3 基本布局实践
- 11.4 堆栈布局
- 11.5 分裂器布局
- 11.6 自定义布局管理器
- 11.7 布局管理经验总结
- 11.8 问题与解答
- 11.9 总结与提高
- 第 12 章 使用 Qt Creator
- 12.1 Qt Creator 概览
- 12.2 Qt Creator 的组成
- 12.3 快捷键和常用技巧
- 12.4 Qt Creator 构建系统的设置
- 12.5 处理项目间依赖关系( Dependencies )
- 12.6 Qt 多版本共存时的管理
- 12.7 使用定位器在代码间快速导航
- 12.8 如何创建一个项目
- 12.9 实例讲解
- 12.10 使用 Qt Creator 调试程序
- 12.11 问题与解答
- 12.12 总结与提高
- 第 13 章 Qt 核心机制与原理
- 13.1 Qt 对标准 C++的扩展
- 13.2 信号与槽
- 13.3 元对象系统
- 13.4 Qt 的架构
- 13.5 Qt 的事件模型
- 13.6 构建 Qt 应用程序
- 13.7 总结与提高
- 附录 A qmake 使用指南
- A.1 qmake 简介
- A.2 使用 qmake
- 附录 B make 命令
- B.1 命令解释
- B.2 使用 make 自动构建
- 附录 C Qt 资源
- C.1Qt 官方资源
- C.2 Qt 开发社区