当前位置:主页 > 书籍配套资源 > C++开发配套资源
《Qt 5.9 C++开发指南》配套资源

《Qt 5.9 C++开发指南》配套资源

  • 更新:2021-08-10
  • 大小:106.9 MB
  • 类别:C++开发
  • 作者:王维波,栗宝鹃,侯春望
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

编辑推荐

本书力求比较全面地介绍Qt C++开发应用程序的技术,有以下几个特点。
1.以Qt 5.9 LTS为开发用版本,是目前新版的Qt,未来三年内有持续的支持(上一个LTS版本是Qt 5.6)。
2.介绍了Qt Charts, Data Visualization模块的使用,这是Qt 5.7以后才出现在社区版Qt中的模块,其他书籍没有介绍过的。
3.专注讲解Qt C++编程,内容全面而深入。每个编程主题都精心设计了完整的实例程序,通过实例程序讲解主要类的使用。实例注重实际编程需求,很多实例代码可以直接用于应用程序开发。
4.本书内容安排上循序渐进,编程主题与实例的讲解也完全站在学习者的角度,既讲解原理,也讲解代码实现,让读者跟随着书的内容就能掌握技术要点。

内容简介

本书以Qt 5.9 LTS版本为开发平台,详细介绍了Qt C++开发应用程序的技术,包括Qt应用程序的基本架构、信号与槽工作机制、图形显示的Graphics/View架构、数据编辑和显示的Model/View架构、对话框和多窗口的设计与调用方法等,介绍了常用界面组件、文件读写、绘图、图表、数据可视化、数据库、多线程、网络和多媒体等模块的使用。每个编程主题都精心设计了完整的实例程序。通过阅读本书,可了解Qt C++开发应用程序所需的基本技术。本书适合具有C++语言编程基础,希望应用Qt C++开发跨平台应用程序的读者阅读。

作者简介

王维波,博士,主要从事地球物理探测仪器设计、数据处理方法研究和软件开发等工作,精通软硬件设计与开发。在实际研究和开发工作中发现Qt之利、Qt之美,与读者分享Qt开发经验。
栗宝鹃,博士,主要从事地球物理数据处理和成像的研究,在研究工作中将Qt用于专业软件的开发,精通Qt学习之道、应用之道。
侯春望,硕士,主要从事单片机系统和应用软件的教学和研究工作,精通Qt C++编程,曾开发多个专业应用软件。

目录

  • 第1章 认识Qt1
  • 1.1Qt简介1
  • 1.2Qt的获取与安装1
  • 1.2.1Qt的许可类型1
  • 1.2.2Qt的版本2
  • 1.2.3Qt的下载与安装2
  • 1.3Qt Creator初步使用5
  • 1.3.1Qt Creator的界面组成5
  • 1.3.2Qt Creator的设置6
  • 1.4编写一个Hello World程序7
  • 1.4.1新建一个项目7
  • 1.4.2项目的文件组成和管理10
  • 1.4.3项目的编译、调试与运行11
  • 1.5在Visual Studio里使用Qt13
  • 第2章 GUI应用程序设计基础16
  • 2.1UI文件设计与运行机制16
  • 2.1.1项目文件组成16
  • 2.1.2项目管理文件16
  • 2.1.3界面文件17
  • 2.1.4主函数文件19
  • 2.1.5窗体相关的文件20
  • 2.2可视化UI设计25
  • 2.2.1实例程序功能26
  • 2.2.2界面组件布局26
  • 2.2.3信号与槽29
  • 2.2.4可视化生成槽函数原型和框架30
  • 2.3代码化UI设计34
  • 2.3.1实例功能34
  • 2.3.2界面创建34
  • 2.3.3信号与槽的关联37
  • 2.4混合方式UI设计37
  • 2.4.1设计目的37
  • 2.4.2创建项目并添加资源文件38
  • 2.4.3设计Action39
  • 2.4.4设计菜单和工具栏41
  • 2.4.5代码创建其他界面组件44
  • 2.4.6Action的功能实现45
  • 2.4.7手工创建的组件的信号与槽47
  • 2.4.8为应用程序设置图标48
  • 2.5Qt Creator使用技巧48
  • 第3章Qt类库概述50
  • 3.1Qt核心特点50
  • 3.1.1概述50
  • 3.1.2元对象系统50
  • 3.1.3属性系统52
  • 3.1.4信号与槽53
  • 3.1.5元对象特性测试实例55
  • 3.2Qt全局定义59
  • 3.2.1数据类型定义60
  • 3.2.2函数60
  • 3.2.3宏定义61
  • 3.3容器类62
  • 3.3.1容器类概述62
  • 3.3.2顺序容器类63
  • 3.3.3关联容器类64
  • 3.4容器类的迭代66
  • 3.4.1Java类型迭代器66
  • 3.4.2STL类型迭代器68
  • 3.4.3foreach关键字69
  • 3.5Qt类库的模块70
  • 3.5.1Qt基本模块71
  • 3.5.2Qt附加模块71
  • 3.5.3增值模块72
  • 3.5.4技术预览模块72
  • 3.5.5Qt工具73
  • 第4章常用界面设计组件74
  • 4.1字符串与输入输出74
  • 4.1.1字符串与数值之间的转换74
  • 4.1.2QString的常用功能76
  • 4.2SpinBox的使用78
  • 4.3其他数值输入和显示组件80
  • 4.3.1实例功能80
  • 4.3.2各组件的主要功能和属性80
  • 4.3.3实例功能的代码实现82
  • 4.4时间日期与定时器84
  • 4.4.1时间日期相关的类84
  • 4.4.2日期时间数据与字符串之间的转换84
  • 4.4.3QCalendarWidget日历组件87
  • 4.4.4定时器的使用87
  • 4.5QComboBox和QPlainTextEdit89
  • 4.5.1实例功能概述89
  • 4.5.2QComboBox的使用89
  • 4.5.3QPlainTextEdit的使用91
  • 4.6QListWidget和QToolButton93
  • 4.6.1实例功能简介93
  • 4.6.2界面设计94
  • 4.6.3QListWidget的操作97
  • 4.6.4QToolButton与下拉式菜单99
  • 4.6.5创建右键快捷菜单101
  • 4.7QTreeWidget和QDockWidget102
  • 4.7.1实例功能概述102
  • 4.7.2界面设计103
  • 4.7.3QTreeWidget操作105
  • 4.7.4QLabel和Qpixmap显示图片110
  • 4.7.5QDockWidget的操作111
  • 4.8QTableWidget的使用112
  • 4.8.1QTableWidget概述112
  • 4.8.2界面设计与初始化113
  • 4.8.3QTableWidget操作114
  • 第5章Model/View结构120
  • 5.1Model/View结构120
  • 5.1.1Model/View基本原理120
  • 5.1.2数据模型121
  • 5.1.3视图组件122
  • 5.1.4代理122
  • 5.1.5Model/View结构的一些概念123
  • 5.2QFileSystemModel125
  • 5.2.1QFileSystemModel类的基本功能125
  • 5.2.2QFileSystemModel的使用125
  • 5.3QStringListModel127
  • 5.3.1QstringListModel功能概述127
  • 5.3.2QStringListModel的使用127
  • 5.4QStandardItemModel130
  • 5.4.1功能概述130
  • 5.4.2界面设计与主窗口类定义131
  • 5.4.3QStandardItemModel的使用132
  • 5.5自定义代理139
  • 5.5.1自定义代理的功能139
  • 5.5.2自定义代理类的基本设计要求139
  • 5.5.3基于QSpinBox的自定义代理类139
  • 5.5.4自定义代理类的使用141
  • 第6章对话框与多窗体设计143
  • 6.1标准对话框143
  • 6.1.1概述143
  • 6.1.2QFileDialog对话框144
  • 6.1.3QColorDialog对话框146
  • 6.1.4QFontDialog对话框146
  • 6.1.5QInputDialog标准输入对话框147
  • 6.1.6QMessageBox消息对话框149
  • 6.2自定义对话框及其调用150
  • 6.2.1对话框的不同调用方式150
  • 6.2.2对话框QWDialogSize的创建和使用152
  • 6.2.3对话框QWDialogHeaders的创建和使用154
  • 6.2.4对话框QWDialogLocate的创建与使用156
  • 6.2.5利用信号与槽实现交互操作160
  • 6.3多窗体应用程序设计162
  • 6.3.1主要的窗体类及其用途162
  • 6.3.2窗体类重要特性的设置163
  • 6.3.3多窗口应用程序的设计165
  • 6.4MDI应用程序设计170
  • 6.4.1MDI简介170
  • 6.4.2文档窗口类QFormDoc的设计171
  • 6.4.3MDI主窗口设计与子窗口的使用173
  • 6.5Splash与登录窗口176
  • 6.5.1实例功能概述176
  • 6.5.2对话框界面设计和类定义177
  • 6.5.3QDlgLogin类功能实现178
  • 6.5.4Splash登录窗口的使用181
  • 第7章文件系统和文件读写182
  • 7.1文本文件读写182
  • 7.1.1实例功能概述182
  • 7.1.2QFile读写文本文件182
  • 7.1.3QFile和QTextStream结合读写文本文件184
  • 7.1.4解决中文乱码的问题185
  • 7.2二进制文件读写186
  • 7.2.1实例功能概述186
  • 7.2.2Qt预定义编码文件的读写187
  • 7.2.3标准编码文件的读写192
  • 7.3文件目录操作197
  • 7.3.1文件目录操作相关的类197
  • 7.3.2实例概述197
  • 7.3.3QCoreApplication类199
  • 7.3.4QFile类199
  • 7.3.5QFileInfo类200
  • 7.3.6QDir类201
  • 7.3.7QTemporaryDir和QTemporaryFile203
  • 7.3.8QFileSystemWatcher类203
  • 第8章绘图206
  • 8.1QPainter基本绘图206
  • 8.1.1QPainter绘图系统206
  • 8.1.2QPen的主要功能209
  • 8.1.3QBrush的主要功能210
  • 8.1.4渐变填充212
  • 8.1.5QPainter绘制基本图形元件214
  • 8.2坐标系统和坐标变换217
  • 8.2.1坐标变换函数217
  • 8.2.2坐标变换绘图实例218
  • 8.2.3视口和窗口221
  • 8.2.4绘图叠加的效果223
  • 8.3Graphics View绘图架构224
  • 8.3.1场景、视图与图形项224
  • 8.3.2Graphics View的坐标系统226
  • 8.3.3Graphics View相关的类227
  • 8.3.4Graphics View程序基本结构和功能实现229
  • 8.3.5Graphics View绘图程序实例235
  • 第9章Qt Charts247
  • 9.1Qt Charts概述247
  • 9.1.1Qt Charts模块247
  • 9.1.2一个简单的QChart绘图程序248
  • 9.1.3图表的主要组成部分249
  • 9.2QChart绘制折线图253
  • 9.2.1实例功能253
  • 9.2.2主窗口类定义和初始化253
  • 9.2.3画笔设置对话框QWDialogPen256
  • 9.2.4QChart的设置257
  • 9.2.5QLineSeries序列的设置259
  • 9.2.6QValueAxis坐标轴的设置261
  • 9.3各种常见图表的绘制263
  • 9.3.1实例功能概述263
  • 9.3.2数据准备264
  • 9.3.3柱状图267
  • 9.3.4饼图270
  • 9.3.5堆叠柱状图273
  • 9.3.6百分比柱状图274
  • 9.3.7散点图和光滑曲线图276
  • 9.4图表的其他操作277
  • 9.4.1实例功能概述277
  • 9.4.2自定义QWChartView类278
  • 9.4.3主窗口类的设计280
  • 9.4.4实时显示光标处的数值281
  • 9.4.5QLegendMarker的使用282
  • 9.4.6图表的缩放283
  • 第10章 Data Visualization284
  • 10.1Data Visualization模块概述284
  • 10.2三维柱状图285
  • 10.2.1实例功能285
  • 10.2.2主窗口设计286
  • 10.2.3三维柱状图的创建287
  • 10.2.4三维柱状图属性设置289
  • 10.3三维散点图293
  • 10.3.1绘制三维散点图293
  • 10.3.2三维坐标轴的方向296
  • 10.3.3散点形状与大小296
  • 10.4三维曲面绘图296
  • 10.4.1三维曲面图296
  • 10.4.2三维地形图301
  • 第11章 数据库305
  • 11.1Qt SQL模块概述305
  • 11.1.1Qt SQL支持的数据库305
  • 11.1.2SQLite数据库306
  • 11.1.3Qt SQL模块的主要类308
  • 11.2QSqlTableModel的使用309
  • 11.2.1实例功能309
  • 11.2.2主窗口设计310
  • 11.2.3打开数据表311
  • 11.2.4添加、插入与删除记录319
  • 11.2.5保存与取消修改319
  • 11.2.6设置和清除照片320
  • 11.2.7数据记录的遍历321
  • 11.2.8记录排序322
  • 11.2.9记录过滤322
  • 11.3QSqlQueryModel的使用323
  • 11.3.1QSqlQueryModel功能概述323
  • 11.3.2使用QSqlQueryModel实现数据查询323
  • 11.4QSqlQuery的使用327
  • 11.4.1QSqlQuery基本用法327
  • 11.4.2QSqlQueryModel和QSqlQuery联合使用328
  • 11.5QSqlRelationalTableModel的使用336
  • 11.5.1关系型数据表和实例功能336
  • 11.5.2关系型数据模型功能实现338
  • 第12章 自定义插件和库340
  • 12.1自定义Widget组件340
  • 12.1.1自定义Widget子类QmyBattery340
  • 12.1.2自定义Widget组件的使用343
  • 12.2自定义Qt Designer插件344
  • 12.2.1创建Qt Designer Widget插件项目344
  • 12.2.2插件项目各文件的功能实现346
  • 12.2.3插件的编译与安装349
  • 12.2.4使用自定义插件350
  • 12.2.5使用MSVC编译器输出中文的问题352
  • 12.3创建和使用静态链接库353
  • 12.3.1创建静态链接库353
  • 12.3.2静态链接库的使用354
  • 12.4创建和使用共享库357
  • 12.4.1创建共享库357
  • 12.4.2使用共享库358
  • 第13章 多线程362
  • 13.1QThread创建多线程程序362
  • 13.1.1QThread类功能简介362
  • 13.1.2掷骰子的线程QDiceThread363
  • 13.1.3掷骰子的多线程应用程序365
  • 13.2线程同步367
  • 13.2.1线程同步的概念367
  • 13.2.2基于互斥量的线程同步368
  • 13.2.3基于QReadWriteLock的线程同步371
  • 13.2.4基于QWaitCondition的线程同步373
  • 13.2.5基于信号量的线程同步377
  • 第14章 网络编程383
  • 14.1主机信息查询383
  • 14.1.1QHostInfo和QNetworkInterface类383
  • 14.1.2QHostInfo的使用384
  • 14.1.3QNetworkInterface的使用386
  • 14.2TCP通信388
  • 14.2.1TCP通信概述388
  • 14.2.2TCP服务器端程序设计390
  • 14.2.3TCP客户端程序设计395
  • 14.3QUdpSocket实现UDP通信397
  • 14.3.1UDP通信概述397
  • 14.3.2UDP单播和广播398
  • 14.3.3UDP组播402
  • 14.4基于HTTP协议的网络应用程序405
  • 14.4.1实现高层网络操作的类405
  • 14.4.2基于HTTP协议的网络文件下载406
  • 第15章 多媒体409
  • 15.1Qt多媒体模块功能概述409
  • 15.2音频播放410
  • 15.2.1使用QMediaPlayer播放音乐文件410
  • 15.2.2使用QSoundEffect和Qsound播放音效文件415
  • 15.3音频输入415
  • 15.3.1使用QAudioRecorder录制音频415
  • 15.3.2使用QAudioInput获取音频输入421
  • 15.4视频播放428
  • 15.4.1在QVideoWidget上播放视频428
  • 15.4.2在QGraphicsVideoItem上播放视频431
  • 15.5摄像头的使用433
  • 15.5.1摄像头控制概述433
  • 15.5.2实例主窗口设计与初始化435
  • 15.5.3QCamera对象创建与控制436
  • 15.5.4QCameraImageCapture抓取静态图片438
  • 15.5.5QMediaRecorder视频录制439
  • 第16章 应用程序设计辅助功能441
  • 16.1多语言界面441
  • 16.1.1多语言界面设计概述441
  • 16.1.2tr()函数的使用441
  • 16.1.3生成语言翻译文件442
  • 16.1.4使用Qt Linguist翻译ts文件443
  • 16.1.5调用翻译文件改变界面语言444
  • 16.2使用样式表自定义界面446
  • 16.2.1Qt样式表446
  • 16.2.2Qt样式表句法447
  • 16.2.3样式表的使用453
  • 16.3使用QStyle设置界面外观455
  • 16.3.1QStyle的作用455
  • 16.3.2Qt内置样式的使用456
  • 16.4Qt应用程序的发布457
  • 16.4.1应用程序发布方式457
  • 16.4.2Windows平台上的应用程序发布458

资源下载

资源下载地址1:https://box.lenovo.com/l/60jyJz

相关资源

网友留言