1 QT概述
1.1 什么是QT
是一个跨平台的C++应用程序开发框架
具有短平快的优秀特质: 投资少、周期短、见效快、效益高
几乎支持所有的平台, 可用于桌面程序开发以及嵌入式开发
有属于自己的事件处理机制
可以搞效率的开发基于窗口的应用程序。
Qt是标准 C++ 的扩展, C++的语法在Qt中都是支持的
良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,可以快速上手。
Qt 提供了一种称为 signals/slots 的安全类型来替代 callback(回调函数),这使得各个元件 之间的协同工作变得十分简单。
1.2 Qt的特点
广泛用于开发GUI程序,也可用于开发非GUI程序。
GUI = Graphical User Interface
也就是基于窗口的应用程序开发。
有丰富的 API
Qt 包括多达 250 个以上的 C++ 类
可以处理正则表达式。
支持 2D/3D 图形渲染,支持 OpenGL
Qt给程序猿提供了非常详细的官方文档
支持XML,Json
框架底层模块化, 使用者可以根据需求选择相应的模块来使用
可以轻松跨平台
和Java的跨平台方式不同
在不同的平台使用的是相同的上层接口,但是在底层封装了不同平台对应的API(暗度陈仓)。
1.3 Qt中的模块
Qt 基本模块(Qt Essentials):提供了 Qt 在所有平台上的基本功能。
Qt 附加模块(Qt Add-Ons):实现一些特定功能的提供附加价值的模块。
增值模块(Value-AddModules):单独发布的提供额外价值的模块或工具。
技术预览模块(Technology Preview Modules):一些处于开发阶段,但是可以作为技术预览使用的模块。
Qt 工具(Qt Tools):帮助应用程序开发的一些工具。
模块 | 描述 |
---|---|
Qt Core | Qt 类库的核心,所有其他模块都依赖于此模块 |
Qt GUI | 设计 GUI 界面的基础类,包括 OpenGL |
Qt Multimedia | 音频、视频、摄像头和广播功能的类 |
Qt Multimedia Widgets | 实现多媒体功能的界面组件类 |
Qt Network | 使网络编程更简单和轻便的类 |
Qt QML | 用于 QML 和 JavaScript语言的类 |
Qt Quick | 用于构建具有定制用户界面的动态应用程序的声明框架 |
Qt Quick Controls | 创建桌面样式用户界面,基于 Qt Quick 的用户界面控件 |
Qt Quick Dialogs | 用于 Qt Quick 的系统对话框类型 |
Qt Quick Layouts | 用于 Qt Quick 2 界面元素的布局项 |
Qt SQL | 使用 SQL 用于数据库操作的类 |
Qt Test | 用于应用程序和库进行单元测试的类 |
Qt Widgets | 用于构建 GUI 界面的 C++ 图形组件类 |
1.4 Qt案例
VirtualBox:虚拟机软件。
VLC多媒体播放器:一个体积小巧、功能强大的开源媒体播放器。
YY语音:又名“歪歪语音”,是一个可以进行在线多人语音聊天和语音会议的免费软件。
咪咕音乐:咪咕音乐是中国移动倾力打造的正版音乐播放器
WPS Office:金山公司(Kingsoft)出品的办公软件,与微软Office兼容性良好,个人版免费。
Skype:一个使用人数众多的基于P2P的VOIP聊天软件。