1.Qt概述
1.1 什么是Qt
Qt是一个跨平台的C++应用程序开发框架
- 具有短平快的游戏特质:投资少、周期短、见效快、效益高
- 几乎支持所有的平台,可用于桌面程序开发以及嵌入式开发
- 有自己的事件处理机制
- 可以高效率的开发基于窗口的应用程序
- Qt是标准C++的扩展,C++中的语法在Qt中都是支持的
- 良好的封装机制使得Qt的模块化程度非常高,可重用性较好,可以快速上手
- Qt提供了一种为signals/slots(信号与槽)的安全类型来代替callback(回调函数),这使得各个元件之间的协同工作变得十分简单
1.2 Qt的特点
(1)广泛用于开发GUI程序,也可用于开发非GUI程序。
- GUI = Graphical User Interface
- 也就是基于窗口的应用程序开发
(2)有丰富的 API
- Qt 包括多达 250 个以上的 C++ 类
- 可以处理正则表达式。
(3)支持 2D/3D 图形渲染,支持 OpenGL
(4)Qt给程序员提供了非常详细的官方文档
(5)支持XML,Json
(6)框架底层模块化, 使用者可以根据需求选择相应的模块来使用
(7)可以轻松跨平台
- 和Java的跨平台方式不同,在不同的平台使用的是相同的上层接口,但是在底层封装了不同平台对应的API(暗度陈仓)。
1.3 Qt中的模块
模块 | 描述 |
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++ 图形组件类 |
2.第一个Qt项目
2.1 创建项目
使用Qt Creator创建新项目:
创建基于窗口的Qt应用程序:
项目名称根据需求自己指定即可:
在指定项目的存储路径的时候, 路径中不能包含中文:
构建系统选择qmake:
使用默认的窗口类的名字以及窗口的类型: