目录
1
Qt 概述...............................................................................................................................3
1.1 什么是 Qt........................................................................................................................3
1.2 Qt 的发展史.....................................................................................................................3
1.3 支持的平台.....................................................................................................................3
1.4 Qt 版本.............................................................................................................................4
1.5 Qt 的下载与安装.............................................................................................................4
下载地址:........................................................................................................................4
Linux Host...........................................................................................................................4
OS X Host............................................................................................................................4
Windows Host.................................................................................................................... 5
安装....................................................................................................................................5
1.6 Qt 的优点.........................................................................................................................5
1.7 成功案例.........................................................................................................................6
2 创建 Qt 项目......................................................................................................................6
2.1 使用向导创建.................................................................................................................6
2.2 手动创建...................................................................................................................10
2.3
.pro 文件...................................................................................................................12
2.4 一个最简单的 Qt 应用程序.....................................................................................13
3 第一个 Qt 小程序................................................................................................................15
3.1 按钮的创建...................................................................................................................15
3.2 对象模型(对象树)..................................................................................................15
3.3 Qt 窗口坐标体系...........................................................................................................17
4 信号和槽机制......................................................................................................................18
4.1 系统自带的信号和槽...................................................................................................18
4.2 自定义信号和槽...........................................................................................................19
4.3 信号槽的拓展................................................................................................................21
4.4 Qt4 版本的信号槽写法.................................................................................................22
4.5 Lambda 表达式..............................................................................................................22
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
5 QMainWindow...................................................................................................................... 24
5.1 菜单栏...........................................................................................................................25
5.2 工具栏...........................................................................................................................25
5.3 状态栏...........................................................................................................................26
5.4 铆接部件.......................................................................................................................26
5.5 核心部件(中心部件)...............................................................................................26
5.6 资源文件.......................................................................................................................27
6 对话框 QDialog....................................................................................................................31
6.1 基本概念.......................................................................................................................31
6.2 标准对话框...................................................................................................................31
6.3 自定义消息框...............................................................................................................32
6.4 消息对话框...................................................................................................................33
6.5 标准文件对话框...........................................................................................................36
7 布局管理器..........................................................................................................................39
7.1 系统提供的布局控件...................................................................................................40
7.2 利用 widget 做布局......................................................................................................40
8 常用控件..............................................................................................................................41
8.1 QLabel 控件使用............................................................................................................41
显示文字 (普通文本、html).................................................................................... 42
显示图片..........................................................................................................................42
显示动画..........................................................................................................................42
8.2 QLineEdit........................................................................................................................ 43
8.3 其他控件.......................................................................................................................44
8.4 自定义控件...................................................................................................................44
9 Qt 消息机制和事件..............................................................................................................47
9.1 事件...............................................................................................................................47
9.2 event().......................................................................................................................50
9.3 事件过滤器...................................................................................................................53
9.4 总结...............................................................................................................................57
10 绘图和绘图设备................................................................................................................59
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
10.1 QPainter....................................................................................................................... 59
10.2 绘图设备.....................................................................................................................61
10.2.1 QPixmap、QBitmap、QImage............................................................................. 62
10.2.2 QPicture.................................................................................................................65
11 文件系统............................................................................................................................66
11.1 基本文件操作.............................................................................................................68
11.2 二进制文件读写.........................................................................................................70
11.3 文本文件读写.............................................................................................................71
1 Qt 概述
1.1 什么是 Qt
Qt 是一个跨平台的 C++图形用户界面应用程序框架。它为应用程序开发者提供建
立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允
许真正的组件编程。
1.2 Qt 的发展史
1991 年 Qt 最早由奇趣科技开发
1996 年 进入商业领域,它也是目前流行的 Linux 桌面环境 KDE 的基础
2008 年 奇趣科技被诺基亚公司收购,Qt 称为诺基亚旗下的编程语言
2012 年 Qt 又被 Digia 公司收购
2014 年 4 月 跨平台的集成开发环境 Qt Creator3.1.0 发布,同年 5 月 20 日配
发了 Qt5.3 正式版,至此 Qt 实现了对 iOS、Android、WP 等各平台的全面支持。
当前 Qt 最新版本为 5.8.0
1.3 支持的平台
Windows – XP、Vista、Win7、Win8、Win2008、Win10
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
Uinux/X11 – Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、
SGI IRIX、FreeBSD、BSD/OS、和其他很多 X11 平台
Macintosh – Mac OS X
Embedded – 有帧缓冲支持的嵌入式 Linux 平台,Windows CE
1.4 Qt 版本
Qt 按照不同的版本发行,分为商业版和开源版
商业版
为商业软件提供开发,他们提供传统商业软件发行版,并且提供在商业有效
期内的免费升级和技术支持服务。
开源的 LGPL 版本:
为了开发自有而设计的开放源码软件,它提供了和商业版本同样的功能,在
GNU 通用公共许可下,它是免费的。
1.5 Qt 的下载与安装
下载地址:
http://www.qt.io/download-open-source/
Linux Host
(info)
Qt 5.5.0 for Linux 32-bit (535 MB)
Qt 5.5.0 for Linux 64-bit (532 MB)
(info)
Qt 5.5.0 for Android (Linux 64-bit, 605 MB)
Qt 5.5.0 for Android (Linux 32-bit, 608 MB)
(info)
(info)
OS X Host
Qt 5.5.0 for Mac (588 MB)
(info)
Qt 5.5.0 for Android (Mac, 652 MB)
(info)
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
Qt 5.5.0 for Android and iOS (Mac, 1.7 GB)
(info)
Windows Host
Qt 5.5.0 for Windows 64-bit (VS 2013, 650 MB)
Qt 5.5.0 for Windows 32-bit (VS 2013, 633 MB)
Qt 5.5.0 for Windows 32-bit (VS 2012, 587 MB)
Qt 5.5.0 for Windows 32-bit (VS 2010, 585 MB)
Qt 5.5.0 for Windows 32-bit (MinGW 4.9.2, 959 MB)
Qt 5.5.0 for Android (Windows 32-bit, 1.0 GB)
(info)
Qt 5.5.0 for Windows RT 32-bit (621 MB)
(info)
(info)
(info)
(info)
(info)
(info)
安装
默认安装(建议组件全部选中)
Qt 对不同的平台提供了不同版本的安装包,可根据实际情况自行下载安
装,本文档使用 qt-opensource-windows-x86-mingw482_opengl-5.3.1 版
本进行讲解
1.6 Qt 的优点
跨平台,几乎支持所有的平台
接口简单,容易上手,学习 QT 框架对学习其他框架有参考意义。
一定程度上简化了内存回收机制
开发效率高,能够快速的构建应用程序。
有很好的社区氛围,市场份额在缓慢上升。
可以进行嵌入式开发。
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
1.7 成功案例
Linux 桌面环境 KDE
WPS Office 办公软件
Skype 网络电话
Google Earth 谷歌地图
VLC 多媒体播放器
VirtualBox 虚拟机软件
…
2 创建 Qt 项目
2.1 使用向导创建
打开 Qt Creator 界面选择 New Project 或者选择菜单栏 【文件】-【新建文件
或项目】菜单项
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
弹出 New Project 对话框,选择 Qt Widgets Application,
选择【Choose】按钮,弹出如下对话框
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
设置项目名称和路径,按照向导进行下一步,
选择编译套件
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090