新書推薦:

《
哲学叙事:中国与西方
》
售價:HK$
107.8

《
一人商业模式 创富新路径个人经济自由创业变现方法书
》
售價:HK$
54.8

《
经典与想象:中国古代传说新解
》
售價:HK$
85.8

《
祠堂与教堂:中西传统核心价值观比较研究(第3版)
》
售價:HK$
118.8

《
极简德国东方看世界·极简德国史
》
售價:HK$
74.8

《
舌尖上的中国新编视频版营养师妈妈教你做婴幼儿餐
》
售價:HK$
63.8

《
Scratch创意编程进阶:多学科融合编程100例
》
售價:HK$
107.8

《
纯粹·一枕书梦
》
售價:HK$
79.2
|
編輯推薦: |
本书是一本基础加实战的书籍,既有基础知识,又有丰富的典型案例。这些典型案例贴近工作、学习、生活,应用性强。本书示例代码丰富,实用性和系统性较强,并配有教学课件和视频讲解,助力读者透彻理解书中的重点、难点
|
內容簡介: |
本书以Qt6的实际应用为主线,以理论基础为核心,引导读者渐进式地学习Qt6的编程基础和实际应用。
本书共12章,分为5部分。第一部分(第1章和第2章)首先介绍了应用文件、缓存、路径的方法,然后介绍了基于项的控件;第二部分(第3章和第4章)介绍了基于模型/视图的控件,以及应用数据库的方法;第三部分(第5~7章)首先介绍了Graphics/View绘图框架,然后介绍了绘制二维图表的方法、三维图表的方法;第四部分(第8~11章)介绍了创建网络程序、多媒体程序、打印机程序的方法,并介绍了其他常用类和技术;第五部分(第12章)介绍了使用QtQuick和QML创建GUI程序的方法。本书示例代码丰富,实用性和系统性较强,并配有视频讲解,助力读者透彻理解书中的重点、难点。
本书示例代码丰富,实用性和系统性较强,并配有视频讲解,助力读者透彻理解书中的重点、难点。本书既适合初学者入门,精心设计的案例对于工作多年的开发者也有参考价值,并可作为高等院校和培训机构相关专业的教学参考书。
|
關於作者: |
邢世通,物理学学士,光学工程硕士。编程研究者,熟悉Python、C、C 、PHP、JavaScript、MATLAB等编程语言及相关技术。拥有数学、Python的教学经验。参与过光子计数测量系统软件开发、动态光散射的自相关数据算法、网站开发与安全维护等项目,有两项国家实用新型专利(第一作者)、两篇EI检索论文(第一作者)。著有《编程改变生活——用Python提升你的能力(基础篇?微课视频版)》《编程改变生活——用Python提升你的能力(进阶篇?微课视频版)》《编程改变生活——用PySide6/PyQt6创建GUI程序(基础篇?微课视频版)》《编程改变生活——用PySide6/PyQt6创建GUI程序(进阶篇?微课视频版)》。
|
目錄:
|
教学课件(PPT)
本书源码
第 一 部 分
第1章文件、路径与缓存(122min)
1.1使用Qt 6读写文件
1.1.1文件抽象类QIODevice
1.1.2字节数组类QByteArray
1.1.3使用QFile类读写文件
1.2使用流方式读写文件
1.2.1文本流类QTextStream
1.2.2使用QFile和QTextStream读写文件
1.2.3数据流QDataStream类
1.2.4使用QFile和QDataStream读写二进制文件
1.2.5使用QDataStream读写类对象
1.3文件信息与路径管理
1.3.1文件信息类QFileInfo
1.3.2路径管理类QDir
1.3.3文件和路径监视器类QFileSystemWatcher
1.4临时数据
1.4.1临时文件类QTemporaryFile
1.4.2临时路径类QTemporaryDir
1.4.3存盘类QSaveFile
1.4.4缓存类QBuffer
1.5小结
第2章基于项的控件(124min)
2.1列表控件QListWidget及其项QListWidgetItem
2.1.1列表控件QListWidget
2.1.2QListWidgetItem类
2.1.3典型应用
2.2表格控件QTableWidget及其项QTableWidgetItem
2.2.1表格控件QTableWidget
2.2.2QTableWidgetItem类
2.2.3使用表格控件处理CSV文件
2.3树结构控件QTreeWidget及其项QTreeWidgetItem
2.3.1树结构控件QTreeWidget
2.3.2QTreeWidgetItem类
2.3.3使用Qt Designer创建树结构控件
2.4用表格控件处理Excel文件
2.4.1安装Active Qt模块
2.4.2典型应用
2.5小结
第 二 部 分
第3章基于模型/视图的控件(72min)
3.1模型/视图简介
3.1.1Model/View/Delegate框架
3.1.2数据模型Model
3.1.3视图控件View
3.1.4代理控件Delegate
3.1.5数据项索引QModelIndex
3.1.6抽象数据模型QAbstractItemModel
3.1.7应用例题
3.2QStringListModel与QListView的用法
3.2.1文本列表模型QStringListModel
3.2.2列表视图控件QListView
3.2.3应用例题
3.3QFileSystemModel与QTreeView的用法
3.3.1文件系统模型QFileSystemModel
3.3.2树视图控件QTreeView
3.3.3典型应用
3.4QStandardItemModel与QTableView的用法
3.4.1标准数据模型QStandardItemModel
3.4.2表格视图控件QTableView
3.4.3典型应用
3.5QItemSelectionModel与QStyledItemDelegate的用法
3.5.1选择模型QItemSelectionModel
3.5.2代理控件QStyledItemDelegate
3.5.3典型应用
3.6小结
第4章数据库(88min)
4.1使用Qt 6操作数据库
4.1.1应用Qt SQL模块
4.1.2数据库连接类QSqlDatabase
4.1.3数据库查询类QSqlQuery
4.1.4操作SQLite数据库
4.2操作MySQL数据库
4.2.1安装MySQL数据库的集成开发环境
4.2.2安装MySQL Connector/ODBC
4.2.3操作数据表
4.3数据库查询模型类QSqlQueryModel
4.3.1QSqlQueryModel类
4.3.2典型应用
4.4数据库表格模型类QSqlTableModel
4.4.1QSqlTableModel类
4.4.2记录类QSqlRecord
4.4.3字段类QSqlField
4.4.4典型应用
4.5关系表格模型类QSqlRelationalTableModel
4.5.1QSqlRelationalTableModel类
4.5.2数据映射类QSqlRelation
4.5.3典型应用
4.6小结
第 三 部 分
第5章Graphics/View绘图(77min)
5.1Graphics/View简介
5.1.1Graphics/View绘图框架
5.1.2Graphics/View的坐标系
5.1.3典型应用
5.2Graphics/View相关类
5.2.1图像视图类QGraphicsView
5.2.2图像场景类QGraphicsScene
5.2.3图形项类QGraphicsItem
5.2.4标准图形项
5.3代理控件和图形控件
5.3.1代理控件类QGraphicsProxyWidget
5.3.2图形控件类QGraphicsWidget
5.3.3图形控件布局类
5.3.4图形效果类
5.4小结
第6章绘制二维图表(139min)
6.1图表视图和图表
6.1.1绘制简单的折线图
6.1.2图表视图类QChartView
6.1.3图表类QChart
6.2数据序列
6.2.1数据序列抽象类QAbstractSeries
6.2.2绘制XY图(折线图、散点图、样条曲线图)
6.2.3绘制面积图
6.2.4绘制饼图
6.2.5绘制条形图
6.2.6绘制蜡烛图
6.2.7绘制箱形图
6.3绘制极坐标图表
6.3.1极坐标图表类QPolarChart
6.3.2应用例题
6.4设置图表的坐标轴
6.4.1抽象坐标轴类QAbstractAxis
6.4.2数值坐标轴类QValueAxis
6.4.3对数坐标轴类QLogValueAxis
6.4.4条形图坐标轴类QBarCategoryAxis
6.4.5条目坐标轴类QCategoryAxis
6.4.6时间坐标轴类QDateTimeAxis
6.5设置图表的图例
6.5.1图例类QLegend
6.5.2图例标志类QLegendMarker
6.6小结
第7章绘制三维图表(129min)
7.1Qt Data Visualization子模块概述
7.1.1三维图表类
7.1.2三维数据序列类
7.1.3三维坐标轴类
7.1.4绘制一个简单的三维图表
7.1.5三维图表抽象类QAbstract3DGraph
7.1.6三维场景类Q3DScene和三维相机类Q3DCamera
7.1.7三维坐标类QVector3D
7.1.8三维主题类Q3DTheme
7.1.9三维数据序列抽象类QAbstract3DSeries
7.2绘制三维散点图
7.2.1三维散点图表类Q3DScatter
7.2.2三维散点数据序列类QScatter3DSeries
7.2.3三维散点数据代理类QScatterDataProxy
7.2.4典型应用
7.3绘制三维曲面图、三维地形图
7.3.1三维曲面图表类Q3DSurface
7.3.2三维曲面数据序列类QSurface3DSeries
7.3.3三维曲面数据代理类QSurfaceDataProxy
7.3.4绘制三维曲面图
7.3.5绘制三维地形图
7.4绘制三维柱形图
7.4.1三维柱形图表类Q3DBars
7.4.2三维柱形数据序列类QBar3DSeries
7.4.3三维柱形数据代理类QBarDataProxy
7.4.4应用例题
7.5设置坐标轴
7.5.1三维坐标轴抽象类QAbstract3DAxis
7.5.2三维数值坐标轴类QValue3DAxis
7.5.3三维条目坐标轴类QCategory3DAxis
7.6小结
第 四 部 分
第8章网络(100min)
8.1主机信息查询
8.1.1主机信息类QHostInfo
8.1.2网络接口类QNetworkInterface
8.2TCP通信
8.2.1QTcpServer类
8.2.2QTcpSocket类
8.2.3TCP服务器端程序设计
8.2.4TCP客户端程序设计
8.3UDP通信
8.3.1QUdpSocket类
8.3.2单播、广播程序设计
8.3.3UDP组播程序设计
8.4基于HTTP的通信
8.4.1HTTP请求类QNetworkRequest
8.4.2HTTP网络操作类QNetworkAccessManager
8.4.3HTTP响应类QNetworkReply
8.4.4典型应用
8.5小结
第9章多媒体(67min)
9.1多媒体模块概述
9.2播放音频
9.2.1QMediaPlayer类
9.2.2QAudioOutput类
9.2.3创建MP3音频播放器
9.2.4QSoundEffect类
9.2.5创建WAV音频播放器
9.3录制音频
9.3.1媒体捕获器类QMediaCaptureSession
9.3.2媒体录制类QMediaRecorder
9.3.3创建音频录制器
9.4播放视频
9.4.1使用QVideoWidget类播放视频
9.4.2使用QGraphicsVideoItem类播放视频
9.5应用摄像头
9.5.1摄像头设备类QCameraDevice
9.5.2摄像头控制接口类QCamera
9.5.3摄像头拍照类QImageCapture
9.5.4应用摄像头拍照
9.5.5媒体格式类QMediaFormat
9.5.6应用摄像头录像
9.6小结
第10章应用打印机(48min)
10.1打印机信息与打印机
10.1.1打印机信息类QPrinterInfo
10.1.2打印机类QPrinter
10.1.3打印窗口界面
10.1.4打印控件内容
10.2打印对话框、打印预览对话框、打印预览控件
10.2.1打印对话框类QPrintDialog
10.2.2打印预览对话框类QPrintPreviewDialog
10.2.3打印预览控件类QPrintPreviewWidget
10.3PDF文档生成器
10.4小结
第11章其他类和技术(49min)
11.1QAxObject类
11.1.1常用方法
11.1.2读写Word文件
11.1.3读写Excel文件
11.2QAxWidget类
11.2.1常用方法
11.2.2典型应用
11.3QRandomGenerator类
11.4多语言界面
11.4.1基本步骤
11.4.2静态方法tr()的应用
11.4.3典型应用
11.5串口编程
11.5.1QSerialPortInfo类
11.5.2QSerialPort类
11.6小结
第 五 部 分
第12章QML与Qt Quick(9min)
12.1QML与Qt Quick的关系
12.1.1QML简介
12.1.2Qt Quick简介
12.1.3Qt Quick和Qt Widgets的窗口界面对比
12.2应用QML
12.2.1使用Python调用QML文件
12.2.2QML的事件处理
12.3小结
附录A根据可执行文件制作程序安装包
附录BQApplication类的常用方法
|
內容試閱:
|
Qt 6是一个跨平台、高效的GUI框架,应用广泛,功能强大。Qt 6也是使用C 开发GUI程序时最常用、最高效的一种技术。使用Qt 6开发的程序,可以运行在Windows、Linux、macOS等桌面系统上,也可以运行在Android、iOS、嵌入式设备上。
也许会有人问: “既然Qt 6功能强大,是否需要非常多的时间才能学会这个GUI框架?”,其实这样的担心是多余的。任何一个GUI框架都是帮助开发者提高开发效率的工具,Qt 6也不例外。学习Qt 6的目的不是为了学习而学习,而是为了编写实用、稳定的GUI程序。如果我们用最短的时间掌握Qt 6的必要知识,然后持续地应用这些知识创建不同的GUI程序,则学习效率会非常高,而且会体会到Qt 6的强大之处,并且在实际开发中,既可以选择使用qmake构建系统,也可以选择使用CMake构建系统。
本书中有丰富的案例,将语法知识和编程思路融入大量的典型案例,带领读者学会Qt 6,并应用Qt 6解决实际问题,从而提高自身的能力。
本书主要内容
本书共12章,可分为5部分。
第一部分(第1章和第2章)首先讲解了应用文件、路径、缓存相关类和处理方法,然后讲解了基于项的控件。使用基于项的控件可以处理列表数据、二维表格数据、树结构数据。
第二部分(第3章和第4章)首先讲解了基于模型/视图的控件,然后讲解了Qt 6处理数据库方法,重点讲解了处理SQLite和MySQL数据库的相关类和方法。
第三部分(第5~7章)主要讲解了使用Graphics/View框架绘图的相关类和方法,并介绍了绘制二维图表和三维图表的相关类和方法。第7章的实例使用Qt 6绘制三维图表,这是本书的一个难点,需要的知识比较多。
第四部分(第8~11章)主要讲解了Qt 6处理网络、多媒体、打印相关类和方法,并讲解了其他常用类和技术。
第五部分(第12章)主要讲解了使用QML和Qt Quick创建GUI程序的方法。
附录A介绍了根据可执行文件制作程序安装包的方法。读者可编写C 代码、生成可执行文件,并制作程序安装包。
附录B介绍了QApplication类的常用方法。
阅读建议
本书是一本基础加实战的书籍,既有基础知识,又有丰富的典型案例。这些典型案例贴近工作、学习、生活,应用性强。
建议读者先掌握C 的基础知识和Qt 6的基础知识后,再阅读本书。本书中有些案例比较复杂,需要的知识较多。
第一部分的内容比较分散,读者可根据自己的应用需求,选择阅读该部分的内容。本书的后续章节会应用到该部分的内容。
第二部分的内容比较有规律,使用基于模型/视图的控件处理不同类型的数据,使用Qt 6处理不同类型的数据库。
第三部分属于比较有规律的部分,介绍了使用Qt 6绘制各种图形、二维图表、三维图表的相关类和方法。
第四部分属于比较分散的部分,读者可根据自己的应用需求,选择阅读该部分的内容。
第五部分属于比较有规律的部分,以案例的形式介绍了使用QML和Qt Quick创建GUI程序的方法,并介绍了根据可执行文件创建程序安装包的方法。
资源下载提示
素材(源码)等资源: 扫描目录上方的二维码下载。
视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。
致谢
感谢我的家人、朋友,尤其感谢我的父母,由于你们的辛勤付出,我才可以全身心地投入写作工作。
感谢清华大学出版社赵佳霓编辑,在书稿的编写、出版过程中提供了非常多的建议,感谢参与本书出版的其他人员,没有你们的帮助,本书难以顺利出版。
感谢我的老师、同学,尤其感谢我的导师,在我的求学过程中,你们曾经给我很大的帮助。
感谢为这本书付出辛勤工作的每个人。由于编者水平有限,书中难免存在不妥之处,请读者见谅,并提出宝贵意见。
作者2024年12月
|
|