描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302639893丛书名: 清华科技大讲堂丛书
本书以Qt 6.2.4 LTS版本为开发平台,详细介绍了使用Qt进行 C 桌面应用程序开发的基本技术。本书配套资源丰富,包括教学大纲、教学课件、电子教案、教学进度表、实验指导、程序源码、在线题库、习题答案和700分钟的微课视频。
本书以Qt 6.2.4 LTS版本为开发平台,详细介绍了使用Qt进行 C 桌面应用程序开发的基本技术。全书共12章,包括初识Qt框架、Qt开发基础、界面设计组件、主框架窗体、对话框设计、事件系统、文件与数据库、模型/视图结构、图形绘制、多媒体编程、网络编程和进程与线程等内容。 本书内容安排循序渐进,讲解深入浅出,实例丰富、实用。书中针对每个知识点的简短实例特别有助于初学者理解与仿效,并快速把握问题的精髓。 本书为已有C 程序设计基础、准备进行C 应用软件开发的初学者编写。本书可作为高等院校计算机及相关专业学习C 应用软件开发和Qt框架技术的教材或进行课程设计、毕业设计的参考书,也可作为C 应用软件开发培训班的教材和其他软件开发工作者或爱好者的参考书。
第1章初识Qt框架1
1.1Qt 简介1
1.1.1Qt历史及应用1
1.1.2Qt版本与特点2
1.2开发环境搭建3
1.2.1下载与安装3
1.2.2集成开发工具6
1.2.3其他辅助工具17
1.3程序设计方式20
1.3.1可视化设计20
1.3.2代码化设计22
1.3.3混合式设计25
1.4项目结构分析26
1.4.1项目文件组成26
1.4.2程序运行机制27
习题129
第2章Qt开发基础31
2.1Qt应用概述31
2.1.1Qt应用特点31
2.1.2Qt应用功能32
2.2Qt元对象系统34
2.2.1对象模型34
2.2.2元对象系统35
2.2.3属性系统36
2.3信号与槽44
2.3.1概述44
2.3.2信号44
2.3.3槽45
2.3.4关联46
2.4常用的Qt工具类51
2.4.1字符串类51
2.4.2容器类56
习题263
第3章界面设计组件67
3.1基本窗体67
3.1.1QWidget类67
3.1.2简单实例70
3.2常用组件71
3.2.1按钮组件71
3.2.2输入组件73
3.2.3显示组件79
3.2.4浏览组件80
3.2.5容器组件87
3.2.6布局组件89
3.3布局管理89
3.3.1QLayout类89
3.3.2基本布局90
3.3.3表单布局92
3.3.4网格布局94
习题395
第4章主框架窗体99
4.1框架结构99
4.1.1基本元素99
4.1.2主窗体类100
4.2菜单设计102
4.2.1菜单相关类102
4.2.2可视化设计107
4.2.3纯代码设计111
4.3工具栏设计113
4.3.1工具栏相关类113
4.3.2可视化设计116
4.3.3纯代码设计118
4.4状态栏设计118
4.4.1QStatusBar类118
4.4.2设计实例119
4.5中心部件121
4.6锚接部件123
4.6.1QDockWidget类123
4.6.2设计实例124
习题4125
第5章对话框设计128
5.1对话框相关Qt类128
5.1.1QDialog类128
5.1.2QDialogButtonBox类130
5.2自定义对话框131
5.2.1模态对话框131
5.2.2非模态对话框132
5.2.3数据交换133
5.3标准对话框137
5.3.1颜色对话框137
5.3.2文件对话框138
5.3.3字体对话框139
5.3.4输入对话框140
5.3.5消息对话框141
5.4其他Qt窗体143
5.4.1分割窗体143
5.4.2层叠窗体145
5.4.3闪屏窗体147
5.4.4MDI窗体149
习题5152
第6章事件系统155
6.1事件机制155
6.1.1事件的描述155
6.1.2事件的产生158
6.1.3事件的传递159
6.1.4事件的过滤160
6.1.5事件的处理162
6.2事件处理162
6.2.1事件处理示例163
6.2.2事件过滤器的使用166
6.3鼠标事件167
6.3.1QMouseEvent类167
6.3.2鼠标事件处理169
6.4键盘事件171
6.4.1QKeyEvent类171
6.4.2键盘事件处理172
6.5定时器事件173
6.5.1QTimerEvent类174
6.5.2基于QObject类的定时器174
6.5.3基于QTimer类的定时器175
习题6177
第7章文件与数据库181
7.1Qt文件系统181
7.1.1文件系统类181
7.1.2文件I/O设备182
7.2目录操作184
7.2.1QDir类184
7.2.2QTemporaryDir类185
7.2.3QFileInfo类187
7.2.4常用目录操作188
7.3文件操作193
7.3.1相关操作类193
7.3.2文件信息查询196
7.3.3文本文件读写197
7.3.4二进制文件读写201
7.4Qt SQL概述203
7.4.1Qt SQL模块203
7.4.2Qt SQL驱动204
7.5数据库操作206
7.5.1数据库的连接207
7.5.2数据库的操作212
习题7217
第8章模型/视图结构222
8.1概述222
8.1.1基本结构222
8.1.2数据表示223
8.1.3模型/视图结构相关Qt类226
8.2数据模型227
8.2.1QAbstractListModel模型228
8.2.2QFileSystemModel模型231
8.2.3QStandardItemModel模型234
8.2.4QAbstractTableMode模型236
8.3代理组件241
8.3.1默认代理241
8.3.2自定义代理243
8.4视图组件245
8.4.1QAbstractItemView类245
8.4.2QListView视图247
8.4.3QTableView视图250
8.4.4QTreeView视图253
习题8256
第9章图形绘制260
9.1Qt绘图基础260
9.1.1简单示例260
9.1.2QPainter类261
9.1.3QPen类263
9.1.4QBrush类267
9.2基本图形绘制270
9.2.1点和线的绘制271
9.2.2矩形和椭圆的绘制273
9.2.3多边形和扇形的绘制274
9.2.4渐变填充图形的绘制275
9.3图像绘制279
9.4其他绘制281
9.4.1绘制文字282
9.4.2绘制路径283
9.5坐标变换284
9.5.1平移变换284
9.5.2缩放变换285
9.5.3扭曲变换286
9.5.4旋转变换287
习题9288
第10章多媒体编程293
10.1Qt多媒体简介293
10.1.1Qt多媒体功能293
10.1.2Qt多媒体模块294
10.2音频处理295
10.2.1音频处理相关Qt类295
10.2.2音频播放299
10.2.3音频输入308
10.3视频播放310
10.3.1视频播放相关Qt类310
10.3.2视频播放编程方法312
10.4视频操作316
10.4.1视频操作相关Qt类316
10.4.2设备查询321
10.4.3图像捕获321
10.4.4视频录制323
习题10325
第11章网络编程329
11.1Qt网络模块329
11.1.1Qt Network模块329
11.1.2Qt WebSockets模块330
11.1.3Qt WebChannel模块332
11.1.4Qt WebEngine模块332
11.1.5Qt WebView模块333
11.2网络信息查询334
11.2.1使用QHostInfo类335
11.2.2使用QNetworkInterface类336
11.3HTTP编程338
11.3.1HTTP相关Qt类338
11.3.2HTTP访问341
11.3.3HTTP下载343
11.4TCP编程345
11.4.1TCP相关Qt类346
11.4.2服务器端编程348
11.4.3客户端编程351
11.5UDP编程353
11.5.1QUdpSocket类353
11.5.2UDP单播354
11.5.3UDP组播357
习题11361
第12章进程与线程365
12.1进程与线程相关Qt类365
12.1.1QProcess类365
12.1.2QThread类367
12.2进程369
12.2.1进程的启动370
12.2.2进程间通信372
12.3线程378
12.3.1线程的运行378
12.3.2线程间通信382
12.4线程控制384
12.4.1基于互斥量384
12.4.2基于信号量386
12.4.3基于QReadWriteLock389
12.4.4基于QWaitCondition391
习题12393
参考文献397
Qt是一个基于C 语言的应用程序开发框架,可以用于开发图形用户界面、数据库、网络、多媒体、嵌入式等方面的应用程序。实际上,Qt就是一套功能强大的C 类库,与Microsoft Visual C 的MFC类似。但与MFC相比,Qt具有开源、跨平台、易扩展等众多的技术优势。另外,Microsoft公司已经停止了对MFC的更新,所以,如果需要可视化学习C 、利用C 开发专业领域的应用系统,Qt是非常好的选择。
本书以Qt 6.2.4 LTS版本为开发平台,详细介绍使用Qt进行 C 桌面应用程序开发的基本技术。全书共12章,包括初识Qt框架、Qt开发基础、界面设计组件、主框架窗体、对话框设计、事件系统、文件与数据库、模型/视图结构、图形绘制、多媒体编程、网络编程和进程与线程等内容。
本书第1章和第2章介绍Qt框架的基础知识,包括Qt的下载和安装、开发工具Qt Creator的使用,以及Qt的模块、元对象系统和信号与槽工作机制等;第3~5章介绍Qt界面组件技术,也就是Qt的图形用户界面设计技术,包括Qt窗体和控件的特征与应用,以及窗体与窗体间、控件与控件间、窗体与控件间的数据交换技术等;第6章介绍Qt的事件处理系统,包括事件的表示、产生、分发和处理等;第7章和第8章介绍Qt的数据持久化技术,包括Qt对文件和数据库的操作方法以及Qt的模型/视图结构,该结构能够将数据的显示与编辑相分离,从而大幅简化对数据源的处理,降低输出的编程难度;第9~12章介绍Qt的几种专门技术,包括二维图形的绘制技术、多媒体应用技术、网络通信技术和多线程技术等。
本书是一本C 面向对象程序设计的实践性教材,不对C 程序设计语言的基本特性进行介绍,需要读者已经掌握C 语言编程的基本原理,对类的概念和使用比较熟练。如果读者对C 语言还不够熟悉,可以先学习编者编著的《面向对象程序设计(C 语言描述)》和《Visual C 2019程序设计与应用》等有关C 编程的书,掌握基本的C 面向对象编程技术。
本书的主要特色如下。
1. 技术先进,使用广泛
本书介绍的Qt C 桌面应用开发技术在目前软件开发领域的C 应用系统开发中被广泛使用,尤其是在专业研究及应用领域的系统开发中。截至2023年11月,Qt的最新正式发布版本为6.5.2,本书采用了Qt 6.2.4 LTS版本进行编写,保证了开发技术的先进性。
2. 案例完整,实用性强
本书各章节中的每个实例都是编者精心设计的,针对某个特定的知识点,但又不局限于该知识点。读者在学习时,能够通过这些简单实例及时看到各个知识点的应用效果,真正做到知识的可视化。
3. 讲解翔实,循序渐进
本书紧紧围绕C 桌面应用程序的常用功能,按照Qt应用程序的开发顺序,系统全面地介绍基于Qt框架的C 桌面应用程序开发规范和流程,使读者可以在很短的时间内掌握Qt的工作原理及技术特点。
4. 重点突出,难点分散
本书以介绍Qt的框架应用技术为重点,主要介绍C 桌面应用开发中常用的UI设计和简单的业务逻辑的实现。每章突出一个技术难点,每种技术的介绍均以从应用到原理的顺序展开,让读者先看到或想到实现效果,然后激发其探究“为什么”的兴趣。
5. 由浅入深,前后呼应
Qt C 桌面应用的开发是一个基础理论知识的综合应用过程,涉及很多方面。本书实例功能的实现采用了由浅入深、逐步完善的方式,将技术难点分散于各个章节中,做到了叙述上的前后呼应、技术上的逐步加深。
6. 资源丰富,使用方便
为帮助读者学习,本书配备了全套学习及教学资源,包括教学大纲、教学课件、电子教案、教学进度表、实验指导、程序源码、在线题库、习题解答和微课视频。资源下载提示
课件等资源: 扫描封底的“课件下载”二维码,在公众号“书圈”下载。
素材(源码)等资源: 扫描目录上方的二维码下载。
在线作业: 扫描封底的作业系统二维码,登录网站在线做题及查看答案。
微课视频: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的视频讲解二维码,可以在线学习。
本书可作为高等院校计算机及相关专业、软件开发培训中心等相关课程的教材或教学参考书,也可供软件开发人员进行项目开发、在校学生进行课程设计与毕业设计时参考。
本书第1~5章由马石安编写,第6~12章由魏文平编写,所有图片的配置、代码的调试由魏文平完成。全书由马石安统一修改、整理和定稿。
在本书的编写过程中参考和引用了大量的书籍、文献以及网络博客、论坛中的技术资料,在此向这些文献的作者表示衷心感谢。另外,江汉大学、清华大学出版社的领导及各位同仁对本书的编著、出版给予了大力支持与帮助,在此一并表示感谢。
由于本书内容广泛,加之编写时间仓促及编者水平有限,书中难免存在疏漏之处,敬请广大师生、读者批评指正。
编者2024年1月
评论
还没有评论。