一、环境介绍
操作系统: win10 64位
QT版本: QT5.x
二、内容介绍
这是一套QT5软件开发入门到项目实战的教程,并配套了所有的案例完整代码,方便QT初学者快速入门;文章里包含了QT常用的控件使用介绍、多媒体应用、线程、网络编程、蓝牙、串口、应用发布、嵌入式设备环境部署、Android环境部署等;目前一共写了19章,627页,后续也会持续更新。
QT5软件开发入门教程+配套代码 下载地址: https://download.csdn.net/download/xiaolong1126626497/18435038
三、文章目录
第1章 QT入门 2
1.1 Qt版本介绍 2
1.2 QWidget与Qml的区别 2
1.3 QT下载 2
1.4 安装QT Creator 3
1.5 开发第一个QT程序 6
1.5.1 新建Hello Qt工程 6
1.5.2 调试输出 10
1.5.3 QT Creator常用的快捷键 11
1.5.4 QT帮助文档 12
1.5.5 UI设计师使用 13
1.6字符串类介绍 14
1.6.1 QString支持的运算符 14
1.6.2 常用的构造类型 15
1.6.3 基本类型转QString类型 15
1.6.4 QString类型转基本数据类型 15
1.6.5 QString转QByteArray类型 16
1.6.6 QString类转char类型字符串 16
1.6.7 字符串拼接 17
1.6.8 计算字符串的个数 17
1.6.9 QString标记替换 18
1.6.10字符串比较 18
1.6.11字符串查找 19
1.6.12 填充字符串 19
1.6.13 从字符串里查找相同的某个字符串str。 20
1.6.14 指定位置插入字符串 20
1.6.15 判断字符串是否为空 20
1.6.16 判断字符串是否存在 20
1.6.17 从左向右截取字符串 20
1.6.18 从中间截取字符串 20
1.6.19 删除字符串中间某个字符 20
1.6.20 替换字符串中的某些字符 21
1.6.21 以某个字符切割字符串 21
1.6.22 把整型,浮点型,或其他类型转化为QString 21
1.7容器类 21
1.7.1构建QList列表 21
1.7.2插入数据 22
1.7.3搜索列表中数值出现的位置 22
1.7.4返回列表索引的数据 22
1.7.5其他常用函数接口 23
1.8元对象系统 23
1.8.1 使用元对象系统 24
1.8.2 信号与槽机制 25
1.8.3 信号与槽手动关联 25
1.8.4 信号与槽函数自动关联 27
1.8.5 信号与槽自动关联的过程 29
1.8.6 connect语法格式 30
1.8.7 解除信号槽关联 31
1.8.8 自定义信号与槽 31
1.9 pro工程标准写法 32
1.10 QByteArray字节数组介绍 36
1.10.1 QByteArray类基本使用说明 36
1.10.2 设置数组字节大小 38
1.10.3 返回数组大小 39
1.10.4 将数据转为其他类型 39
1.10.5 将数据转为C语言的字符指针返回 39
1.10.6 数组数据追加 39
1.10.7 清除数组数据为指定值 40
1.10.8 数组数据插入 40
1.10.9 删除指定位置指定长度的数据 41
1.10.10 替换指定位置的数据 41
1.10.11 数组数据查找 41
1.10.12 去除空白字符 42
1.11 QBuffer类介绍 42
1.11.1 QBuffer基本使用介绍 42
1.11.2 数据读写示例 43
1.11.3 数据处理一行的数据 44
第2章 基础控件 45
2.1 按钮控件组 45
2.1.1 QAbstractButton类 45
2.1.2 QPushButton按钮 47
2.1.3 QRadioButton按钮 49
2.1.4 checkBox按钮 53
2.1.5 commandLinkButton按钮 57
2.1.6 buttonBox按钮盒 59
2.2 布局控件组 61
2.2.1 基本布局控件 62
2.2.2 UI设计师的布局功能 63
2.3 QT资源文件 65
2.3.1 建立资源文件 65
2.3.2 qrc文件格式 67
2.3.3 设置按钮图标 68
2.3.4 外挂资源文件 68
2.4 输入控件组 70
2.4.1 lineEdit单行文本编辑器 71
2.4.2 comboBox下拉框 77
2.4.3 QFontComboBox字体列表框 81
2.4.4 QTextEdit文本编辑器 82
2.4.5 plainTextEdit文本编辑器 92
2.4.6 dial刻度盘 93
2.4.7 spinBox整数计数器 95
2.4.8 QDoubleSpinBox浮点计数器 96
2.4.9 QSlider滑块 97
2.5 显示控件组 99
2.5.1 QLabel标签 99
2.5.2 QProgressBar进度条 103
2.5.3 QLCDNumber 数码管控件 104
2.5.4 QCalendarWidget日历 108
2.6 时间日期处理 109
2.6.1 QDateTime类于QDateTimeEdit控件介绍 110
2.6.2 QDate类与QDateEdit控件介绍(日期处理) 115
2.6.3 QTime类与QTimeEdit控件介绍(时间处理) 118
2.6.4 Qtimer定时器介绍 122
第3章 布局管理 123
3.1 基本布局 123
3.1.1 QBoxLayout水平与垂直布局 123
3.1.2 QGridLayout网格布局 126
3.1.3 QFormLayout表单布局(窗体布局) 128
3.2 控件位置与大小限定 131
第4章 对话框 133
4.1 标准消息对话框 133
4.1.1 QMessageBox静态函数 133
4.1.2 QMessageBox常用成员函数介绍 137
4.2 标准颜色对话框 140
4.2.1 创建颜色对话框 140
4.2.2 Qcolor类介绍 141
4.3 标准字体对话框 141
4.4 标准文件对话框 142
4.4.1 获取选择的目录路径 142
4.4.2 获取打开的文件名称 143
4.4.3 获取打开的文件名称列表 144
4.4.4 获取保存的文件名称 144
4.5 标准输入对话框 145
4.5.1 浮点数输入框 145
4.5.2 整数输入框 146
4.5.3 下拉框输入 146
4.5.4 多行输入框 146
4.5.6 单行输入框 146
第5章 主窗体 146
5.1 Qmenu菜单栏 146
5.1.1 创建Qmenu菜单 146
5.1.2 Qmenu函数介绍 146
5.1.3 QAction类介绍 146
5.2 QMainWindow主窗口 146
5.2.1 添加菜单栏 146
5.2.2 添加工具栏 146
5.2.3 添加描接窗口与主窗口 146
5.2.4 添加状态栏 146
5.2.5 QmainWindow成员函数介绍 146
5.2.6 保存窗口状态 146
5.3 设置应用程序图标 146
5.3.1 设置窗口图标 146
5.3.2 设置窗口标题 146
5.3.3 设置应用程序图标 146
5.4 设置应用程序启动画面 146
5.4.1 创建应用程序启动画面 146
5.4.2 函数介绍 146
第6章 文件与目录操作 146
6.1 QDir目录操作 146
6.1.1 遍历指定目录下的所有文件和目录 146
6.1.2 函数介绍 146
6.2 QFileInfo获取文件详细信息 146
6.2.1 获取指定目录下的所有文件大小信息 146
6.2.2 函数介绍 146
6.3 QFile文件读写操作 146
6.3.1 读写文本示例 146
6.3.2 函数介绍 146
6.3.3 读取BMP图片信息 146
6.4 QTextStream处理文件数据流 146
6.4.1 QTextStream写文本流示例 146
6.4.2 函数介绍 146
6.4.3 读写格式化数据示例 146
6.5 QDataStream串行化数据流处理 146
6.5.1 串行化存放数据示例 146
6.5.2 函数介绍 146
6.5.3 自定义串行化数据结构 146
6.6 QStorageInfo获取磁盘信息 146
6.6.1 获取系统挂载磁盘容量信息示例 146
6.6.2 函数介绍 146
6.7 监控文件和目录 146
6.7.1 监控目录和文件变化示例 146
6.7.2 函数介绍 146
第7章 容器与条目控件 146
7.1 QGroupBox组合框 146
7.1.1 创建组合框示例 146
7.1.2 函数介绍 146
7.2 QToolBox抽屉式选项框 146
7.2.1 创建QToolBox示例 146
7.2.2 函数介绍 146
7.3 QScrollArea滚动视图 146
7.3.1 QscrollArea滚动视图显示图片示例 146
7.3.2 函数介绍 146
7.3.3 图行方式放置QScrollArea滚动视图 146
7.4 QtabWidget多页面切换视图 146
7.4.1 创建QTabWidget示例 146
7.4.2 函数介绍 146
7.4.3 图像方式放置QTabWidget 146
7.5 listWidget列表控件 146
7.5.1 创建条目列表示例 146
7.5.2 QListWidget类函数介绍 146
7.5.3 QListWidgetItem条目视图介绍 146
7.5.4 创建音乐列表示例 146
7.6 treeWidget树形控件 146
7.6.1 创建QTreeWidget视图 146
7.6.2 QTreeWidgetItem类相关函数介绍 146
7.6.3 QTreeWidgetItem类函数介绍 146
7.6.4 QTreeWidget运用示例 146
7.7 QTableWidget表格控件 146
7.7.1 创建QTableWidgetItem表格 146
7.7.2 tableWidget相关函数介绍 146
7.7.3 QTableWidgetItem相关函数介绍 146
7.7.4 积分卡管理系统示例 146
第8章 多媒体开发 146
8.1 访问系统摄像头 146
8.1.1 获取系统上可用的摄像头信息 146
8.1.2 QCamera类介绍 146
8.1.3 相机取景器 146
8.1.4 捕获图像数据 146
8.1.5 捕获图像到文件示例(实现照相机功能) 146
8.2 播放音乐与视频 146
8.2.1 QMediaPlayer类介绍与基本使用 146
8.2.2 QMediaPlayer类相关函数接口介绍 146
8.2.3 视频播放器示例 146
第9章 图形绘制与视图框架 146
9.1 使用QPxmap类加载图片 146
9.2 使用QImage类加载图片 146
9.3 QPainter图形绘制 146
9.3.1 QPainter相关函数介绍 146
9.3.2 QPainter坐标系统转换示例 146
9.3.3 QPainter绘制模拟时钟实例 146
9.4 QPainterPath图形容器介绍 146
9.4.1 QPainterPath类相关函数介绍 146
9.4.2 QPainterPath类绘图实例 146
9.5 QGraphicsView视图框架 146
第10章 事件处理 146
10.1 窗口事件 146
10.1.1 介绍常用的窗口事件接口 146
10.1.2 处理窗口事件实例 146
10.2 鼠标事件 146
10.2.1 介绍鼠标事件接口 146
10.2.2 QMouseEvent类介绍 146
10.2.3 处理鼠标事件实例 146
10.2.4 鼠标滚轮事件处理 146
10.3 键盘事件 146
10.3.1 介绍键盘事件接口 146
10.3.2 QKeyEvent类介绍 146
10.3.3 处理键盘事件实例 146
10.4 事件过滤器 146
10.4.1 介绍事件过滤器接口 146
10.4.2 事件过滤器使用示例 146
第11章 多线程编程 146
11.1 QThread类介绍 146
11.1.1 创建线程 146
11.1.2 QThread相关函数介绍 146
11.1.3 多线程编程实例 146
11.1.4 子线程与主线程通信实例 146
11.1.5 线程与主线程UI界面交互(友元类) 146
11.2 多线程资源保护 146
11.2.1 互斥体 146
11.2.2 信号量 146
第12章 网络编程 146
12.1 获取本机网络信息 146
12.1.1 获取本机IP地址 146
12.1.2 获取本地网络连接详细信息 146
12.2 搭建TCP服务器与客户端 146
12.2.1 QTcpSocket类介绍 146
12.2.2 QtcpServer介绍 146
12.2.3 TCP服务器与客户端创建步骤 146
12.2.4 TCP网络调试助手实例 146
12.3 搭建UDP服务器与客户端 146
12.3.1 QUdpSocket类介绍 146
12.3.2 UDP通信简单介绍 146
12.3.3 UDP服务器与客户端创建步骤 146
12.3.4 UDP网络调试助手实例 146
12.3.5 子线程创建UdpSocket实例 146
12.3.6 UDP组播穿透路由器 146
12.4 HTTP网络通信 146
12.4.1 实现网页浏览 146
12.4.2 在线创建二维码 146
12.4.3 实现网络文件下载 146
12.5 获取天气预报:解析XML文件 146
12.5.1 XML文件格式介绍 146
12.5.2 解析XML文件相关类介绍 146
12.5.3 获取天气预报实例 146
12.5.4 获取手机归属地信息实例 146
12.6 获取北京时间:解析JSON文件 146
12.6.1 JSON文件格式介绍 146
12.6.2 常用的Json库 146
12.6.3 解析JSON文档相关的类介绍 146
12.6.4 获取北京时间实例 146
12.7 网络编程案例 146
12.7.1 TCP多线程时间服务器 146
第13章 基于QT5蓝牙设备开发 146
13.1 扫描获取周围可见的蓝牙设备 146
13.1.1 QBluetoothDeviceDiscoveryAgent类介绍 146
13.1.2 函数介绍 146
13.1.3 信号介绍 146
13.2 设置本地蓝牙设备 146
13.2.1 介绍QBluetoothLocalDevice 146
13.2.2函数介绍 146
13.2.3 信号介绍 146
13.3 蓝牙数据收发处理(socket) 146
13.3.1 QBluetoothSocket类介绍 146
13.3.2 函数介绍 146
13.3.3 信号介绍 146
13.3.4 蓝牙程序案例: 蓝牙串口调试助手 146
13.4 获取蓝牙设备信息 146
13.4.1 函数介绍 146
13.5 低功耗蓝牙设备的访问 146
13.5.1 QLowEnergyController类介绍 146
13.5.2 常用的函数介绍 146
13.5.3 常用的信号列表 146
13.6 低功耗蓝牙设备的数据收发 146
13.6.2 常用函数介绍 146
13.6.3 程序案例:BLE低功耗蓝牙调试助手 146
第14章 基于QT5串口设备开发 146
14.1 QT下串口编程介绍 146
14.1.1 串口协议介绍 146
14.1.2 功能介绍 146
14.2 QSerialPortInfo帮助信息类介绍 146
14.2.1 构造函数与析构函数 146
14.2.2 判断串口com口的状态 146
14.2.3 返回当前串口的名称 146
14.2.4 返回当前串口的供应商16位编号 146
14.2.5. 互换串口的信息 146
14.2.6 返回当前串口的产品序列号 146
14.2.7 返回当前串口的产品序列号-字符串方式 146
14.2.8 判断当前串口是否支持 146
14.2.9 获取串口支持的波特率 146
14.2.10 获取当前系统支持的串口端口 146
14.3 QSerialPort串口类介绍 146
14.3.1 QSerialPort功能使用介绍 146
14.3.2 清除缓冲区 146
14.3.3 关闭串口 146
14.3.4 打开串口 146
14.3.5 返回等待读的字节数 146
14.3.6 判断数据是否读完 146
14.3.7 设置串口缓冲区的大小 146
14.3.8 返回缓冲区的大小 146
14.3.9 读出所有的数据 146
14.3.10 设置波特率 146
14.3.11 设置奇偶校验位 146
14.3.12 设置停止位 146
14.3.13 设置数据位 146
14.3.14 设置流控开关 146
14.3.15 串口配置示例 146
14.3.16 读写相关信号 146
14.4 串口助手开发示例 146
14.4.1 uart_mainwindow.ui文件 146
14.4.2 uart_mainwindow.cpp 146
14.4.3 uart_mainwindow.h 146
14.4.4 main.cpp 146
14.4.5 UART.pro 146
14.4.6 效果截图 146
第15章 基于QT5打印机设备开发 146
15.1 QPrinter类 146
15.1.1 QPrinter类功能详细介绍 146
15.1.2 设置虚拟打印的文档名称 146
15.2 QPrintDialog类 146
15.2.1 QPrintDialog类功能详细介绍 146
15.2.2 开始执行对话框 146
15.3 QPrintPreviewDialog类 146
15.3.1 QPrintPreviewDialog类详细介绍 146
15.3.2 示例代码 146
第16章 QT应用程序发布 146
16.1 发布方式 146
16.2动态打包发布 146
16.2.1 准备工作 146
16.2.2 windeployqt.exe工具位置 146
16.2.3 添加环境变量 146
16.2.4 环境变量生效方式 146
16.2.5 自动寻找依赖 146
16.3 查看exe的依赖 146
16.3.1 查看依赖 146
16.3.2 QT5常规依赖库 146
16.4 安装包程序制作 146
16.4.1 “易量安装”制作工具使用示例 146
第17章 搭建嵌入式linux下QT5.6运行环境 146
17.1 QT介绍 146
17.2 搭建LinuxPC端QT编译环境 146
17.2.1 PC机环境介绍 146
17.2.2 下载LinuxPC端QT5.6安装包 146
17.2.3 安装LinuxPC端QT5.6安装包 146
17.2.4 在LinuxPC端新建QT工程 146
17.3 搭建嵌入式QT运行环境 146
17.3.1采用的嵌入式开发板介绍 146
17.3.2 QT5.6源码下载 146
17.3.3 解压QT5.6源码 146
17.3.4 交叉编译器QT5.6源码 146
17.3.5 搭建开发板的运行环境 146
17.4 构建LinuxPC端QT软件上的ARM编译套件并进行测试 146
17.4.1 新建ARM专用的编译套件 146
17.4.2 选择ARM编译套件编译QT程序 146
17.4.3 开发板上运行QT程序的效果 146
第18章 Ubuntu下QT搭建Android开发环境 146
18.1 安装QT Android版本 146
18.1.1 下载QT软件 146
18.1.2 安装QT软件 146
18.1.3 启动软件 146
18.1.4 新建工程测试qtcreator开发环境 146
18.2 搭建QT on Android环境 146
18.2.1 查看所需要的安装包 146
18.2.2 安装JDK 146
18.2.3 安装Android SDK 146
18.2.4 安装Android NDK 146
18.2.5 安装ANT 146
18.2.6 创建AVD Android虚拟设备 146
18.2.7 ubuntu 16.04 设置Android环境 146
18.3 ADB命令工具操作Android设备 146
18.3.1 新建Android应用程序工程 146
18.3.2使用 adb 命令连接实体android 设备 146
18.3.3 adb 命令检测不到设备解决办法 146
18.3.4 Android设备Shell终端无法文件目录解决 146
18.3.5 adb命令传输文件到Android设备 146
18.3.6 配置Android设备IP地址 146
18.4 Android 下原生Linux驱动测试 146
18.4.1 Android设备运行C语言程序 146
18.4.2 Linux内核编译 146
18.4.3 Android源码下载 146
18.4.4 编写蜂鸣器驱动 146
18.4.5 编写Android应用程序控制蜂鸣器代码 146
18.5 设置Android程序的图标和签名文件 146
18.5 创建Android签名文件 146
18.6 创建AndroidManifest.xml文件 146
18.7 设置Android应用的版本信息和图标 146
18.8 测试效果 146
第19章 Windows10系统下QT搭建Android开发环境 146
19.1 搭建QT环境 146
19.1.1下载QT安装包 146
19.1.2 解决QT5.12在win10系统下经常无响应问题 146
19.1.3 Android配置页面 146
19.1.4 下载JDK 146
19.1.5 下载SDK 146
19.1.6 下载NDK 146
19.1.7 配置QT的Android环境 146
19.2 编译Android应用程序 146
19.2.1 创建Android(ARM)虚拟设备 146
19.2.2 创建Android(X86)虚拟设备 146
19.2.3 新建工程选择Android编译套件 146
19.2.4 解决编译Android工程缺少证书问题 146
19.2.5 搭建的Android环境效果截图 146
四、文章里部分章节截图
五、配套代码