QT5软件开发入门到项目实战PDF(配完整示例代码)(持续更新)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: QT5软件开发入门到项目实战PDF(配完整示例代码)(持续更新)

一、环境介绍

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


四、文章里部分章节截图

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

五、配套代码

image.png

目录
相关文章
|
7月前
|
Web App开发 编解码 安全
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
661 4
|
7月前
|
C++
基于Qt的简易PDF阅读器设计与实现
基于Qt的简易PDF阅读器设计与实现
631 3
|
7月前
|
存储 数据安全/隐私保护 C++
Qt 中文文档 Qt5.15 PDF Class (从官网Qt 5.15 翻译)
Qt 中文文档 Qt5.15 PDF Class (从官网Qt 5.15 翻译)
500 0
|
7月前
|
数据挖掘 C++
QT基础入门——项目案例(七)
QT基础入门——项目案例(七)
353 0
QT基础入门——项目案例(七)
|
7月前
|
API
QT基础入门——Qt事件(五)
QT基础入门——Qt事件(五)
416 0
QT基础入门——Qt事件(五)
|
2月前
|
存储 SQL 数据库连接
【QT速成】半小时入门QT6之QT前置知识扫盲(二)
【QT速成】半小时入门QT6之QT前置知识扫盲(二)
107 13
|
6月前
|
XML 开发框架 JSON
【Qt】Qt入门
【Qt】Qt入门
|
2月前
|
存储 SQL 数据库连接
【QT速成】半小时入门QT6之QT前置知识扫盲(二)
【QT速成】半小时入门QT6之QT前置知识扫盲(二)
|
2月前
|
数据可视化 编译器 API
【QT速成】半小时入门QT6之QT前置知识扫盲(一)
【QT速成】半小时入门QT6之QT前置知识扫盲(一)
122 2
|
2月前
|
编译器 API C语言
【QT速成】半小时入门QT6之QT前置知识扫盲(一)
【QT速成】半小时入门QT6之QT前置知识扫盲(一)
150 0