QT5软件开发入门教程(完整版-持续更新)

Posted DS小龙哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT5软件开发入门教程(完整版-持续更新)相关的知识,希望对你有一定的参考价值。

一、环境介绍

操作系统: 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

四、文章里部分章节截图

 

五、配套代码

 

下面公众号里有全套单片机、C++、C、STM32、QT基础教程,欢迎关注。

 

 

 

以上是关于QT5软件开发入门教程(完整版-持续更新)的主要内容,如果未能解决你的问题,请参考以下文章

大数据从零基础到精通视频教程 完整版

持续集成CI&CD之CI的完整版最佳实践

持续集成CI/CD之CD的完整版最佳实践

基于libmpv内核设计开发的视频播放器-完整版

基于libmpv内核设计开发的视频播放器-完整版

Windows下安装PyQt5完整教程