yanglqw

    1. Qt6 C++开发指南

      标签:Qt6 C++开发指南

      作者: 王维波 出版社: 人民邮电出版社 出版年: 2023-1 页数: 613 装帧: 平装 ISBN: 9787115602404 本书以Qt 6为开发平台,系统介绍如何用Qt C++开发应用程序。首先介绍Qt C++应用程序的基本结构、界面可视化设计和布局管理方法、元对象系统的功能及其应用等基本内容,然后深入讲解常用界面组件、模型/视图结构、事件处理、对话框和多窗口程序设计、文件读写等功能的编程方法,以及数据库、多线程、网络、多媒体、图表、数据可视化、串口通信等功能模块的使用。本书内容丰富,辅以大量精心设计的完整示例程序,涵盖进行GUI程序设计所需掌握的各种技术主题。 目录 · · · · · · 第1章 认识Qt  1 1.1 Qt简介  1 1.1.1 Qt的跨平台开发能力  1 1.1.2 Qt的许可类型和安装包  2 1.1.3 Qt支持的开发语言  3 1.1.4 Qt 6新特性  4 1.2 Qt的安装  5 1.2.1 本书使用的Qt版本  5 1.2.2 安装Qt  5 1.2.3 安装后的Qt  8 1.3 编写一个Hello World程序  9 1.3.1 Qt Creator简介  9 1.3.2 新建一个GUI项目  10 1.3.3 项目的文件组成和管理  12 1.3.4 项目的构建、调试与运行  13 第2章 GUI程序设计基础  15 2.1 GUI程序结构与运行机制  15 2.1.1 GUI项目文件组成  15 2.1.2 项目配置文件  15 2.1.3 UI文件  17 2.1.4 主程序文件  18 2.1.5 窗口相关的文件  19 2.2 可视化UI设计  23 2.2.1 窗口界面可视化设计  24 2.2.2 界面组件布局管理  25 2.2.3 信号与槽简介  28 2.2.4 信号与槽的使用  29 2.2.5 为应用程序设置图标  31 2.2.6 Qt项目构建过程基本原理  32 2.3 代码化UI设计  33 2.3.1 示例功能概述  33 2.3.2 示例功能实现  33 2.4 使用CMake构建系统  36 2.4.1 CMake项目配置  37 2.4.2 CMake项目构建  38 2.4.3 使用cmake-gui生成Visual Studio项目  40 2.5 Qt Creator使用技巧  41 2.5.1 文本编辑器使用技巧  42 2.5.2 项目管理  42 2.5.3 代码模型  42 第3章 Qt框架功能概述  44 3.1 Qt 6框架中的模块  44 3.1.1 Qt基础模块  44 3.1.2 Qt附加模块  45 3.2 Qt全局定义  45 3.2.1 数据类型定义  46 3.2.2 函数  46 3.2.3 宏定义  47 3.3 Qt的元对象系统  47 3.3.1 元对象系统概述  48 3.3.2 运行时类型信息  50 3.3.3 属性系统  51 3.3.4 信号与槽  53 3.3.5 对象树  57 3.3.6 元对象系统功能测试示例  58 3.4 容器类  63 3.4.1 顺序容器类  63 3.4.2 关联容器类  65 3.4.3 遍历容器的数据  66 3.5 其他常用的基础类  68 3.5.1 QVariant类  68 3.5.2 QFlags类  69 3.5.3 QRandomGenerator类  70 第4章 常用界面组件的使用  72 4.1 界面组件概述  72 4.1.1 常用的界面组件  72 4.1.2 QWidget类的主要属性和接口函数  76 4.2 布局管理  78 4.2.1 布局管理相关的类  79 4.2.2 布局可视化设计及其代码原理  80 4.3 QString字符串操作  83 4.3.1 QString简介  83 4.3.2 QChar的功能  84 4.3.3 QChar主要功能测试  86 4.3.4 QString字符串常用操作  88 4.3.5 QString字符串常用功能测试  93 4.3.6 QString字符串与数值的转换  94 4.3.7 QString字符串与数值转换示例  98 4.4 QSpinBox和QDoubleSpinBox  100 4.4.1 QSpinBox类和QDoubleSpinBox类  100 4.4.2 示例程序  101 4.5 常用的按钮组件  102 4.5.1 各按钮类的接口详解  103 4.5.2 示例程序功能实现  104 4.6 QSlider和QProgressBar  106 4.6.1 各组件类的主要属性和接口函数  106 4.6.2 示例程序功能实现  108 4.7 日期时间数据  109 4.7.1 表示日期时间数据的类  109 4.7.2 日期时间数据的界面组件  113 4.7.3 示例程序功能实现  115 4.8 QTimer和QElapsedTimer  116 4.8.1 QTimer类  116 4.8.2 QElapsedTimer类  117 4.8.3 示例程序功能实现  118 4.9 QComboBox  121 4.9.1 QComboBox类  121 4.9.2 示例程序功能实现  122 4.10 QMainWindow和QAction  125 4.10.1 窗口界面可视化设计  125 4.10.2 QAction类  128 4.10.3 QToolBar类  130 4.10.4 QStatusBar类  130 4.10.5 混合式UI设计  131 4.10.6 QPlainTextEdit的使用  133 4.11 QToolButton和QListWidget  135 4.11.1 窗口界面可视化设计  135 4.11.2 QToolButton与界面补充创建  137 4.11.3 QListWidget的操作  140 4.11.4 创建右键快捷菜单  145 4.12 QTreeWidget  146 4.12.1 窗口界面可视化设计  146 4.12.2 QTreeWidget类  148 4.12.3 QTreeWidgetItem类  151 4.12.4 示例中QTreeWidget的操作  153 4.12.5 用QLabel和QPixmap显示图片  159 4.12.6 示例中QDockWidget的操作  160 4.13 QTableWidget  161 4.13.1 窗口界面可视化设计和初始化  161 4.13.2 QTableWidget类  163 4.13.3 QTableWidgetItem类  165 4.13.4 示例中QTableWidget的操作  166 第5章 模型/视图结构  171 5.1 模型/视图结构概述  171 5.1.1 模型/视图结构基本原理  171 5.1.2 模型  172 5.1.3 视图  172 5.1.4 代理  173 5.1.5 模型/视图结构的一些概念  173 5.1.6 QAbstractItemModel类  175 5.1.7 QAbstractItemView类  177 5.2 QStringListModel和QListView  178 5.2.1 QStringListModel类  179 5.2.2 示例程序功能实现  179 5.3 QStandardItemModel和QTableView  182 5.3.1 QTableView类  183 5.3.2 QStandardItemModel类  183 5.3.3 QStandardItem类  185 5.3.4 QItemSelectionModel类  187 5.3.5 示例程序功能实现  188 5.4 自定义代理  194 5.4.1 自定义代理的功能  195 5.4.2 QStyledItemDelegate类  195 5.4.3 设计自定义代理类  196 5.4.4 使用自定义代理类  199 5.5 QFileSystemModel和QTreeView  199 5.5.1 QFileSystemModel类  200 5.5.2 QTreeView类  202 5.5.3 示例程序功能实现  202 第6章 事件处理  205 6.1 Qt的事件系统  205 6.1.1 事件的产生和派发  205 6.1.2 事件类和事件类型  207 6.1.3 事件的处理  209 6.1.4 典型事件处理示例  210 6.2 事件与信号  213 6.2.1 函数event()的作用  213 6.2.2 事件与信号编程示例  214 6.3 事件过滤器  216 6.3.1 事件过滤器工作原理  217 6.3.2 事件过滤器编程示例  217 6.4 拖放事件与拖放操作  218 6.4.1 拖放操作相关事件  219 6.4.2 外部文件拖放操作示例  219 6.5 具有拖放操作功能的组件  222 6.5.1 示例窗口类定义和初始化  223 6.5.2 拖放操作属性的显示  224 6.5.3 拖放操作属性的设置  226 6.5.4 通过事件过滤器实现项的删除  227 第7章 对话框和多窗口程序设计  228 7.1 标准对话框  228 7.1.1 QFileDialog对话框  229 7.1.2 QColorDialog对话框  231 7.1.3 QFontDialog对话框  232 7.1.4 QProgressDialog对话框  232 7.1.5 QInputDialog标准输入对话框  233 7.1.6 QMessageBox消息对话框  236 7.2 设计和使用自定义对话框  237 7.2.1 QDialog类  238 7.2.2 示例功能概述  239 7.2.3 主窗口类定义和初始化  240 7.2.4 TDialogSize对话框的设计和使用  242 7.2.5 TDialogHeaders对话框的设计和使用  244 7.2.6 TDialogLocate对话框的设计和使用  245 7.3 多窗口应用程序设计  249 7.3.1 窗口类重要特性的设置  249 7.3.2 多窗口应用程序设计示例  251 7.4 MDI应用程序设计  258 7.4.1 QMdiArea类  259 7.4.2 QMdiSubWindow类  261 7.4.3 MDI应用程序设计示例  261 7.5 Splash与登录窗口  266 7.5.1 Splash登录对话框的界面设计和类定义  267 7.5.2 TDialogLogin类的功能实现  268 7.5.3 TDialogLogin对话框的使用  271 第8章 文件系统操作和文件读写  272 8.1 文件操作相关类概述  272 8.1.1 输入输出设备类  272 8.1.2 文件读写操作类  273 8.1.3 特定格式文件的读写  274 8.2 目录和文件操作  274 8.2.1 示例设计概述  275 8.2.2 QCoreApplication类  277 8.2.3 QFile类  277 8.2.4 QFileInfo类  279 8.2.5 QDir类  280 8.2.6 QTemporaryDir类  283 8.2.7 QTemporaryFile类  284 8.2.8 QFileSystemWatcher类  285 8.3 读写文本文件  287 8.3.1 用QFile读写文本文件  287 8.3.2 用QSaveFile保存文件  291 8.3.3 结合使用QFile和QTextStream读写文本文件  292 8.4 读写二进制文件  295 8.4.1 基础知识和工具软件  295 8.4.2 QDataStream类  297 8.4.3 使用预定义编码方式读写文件  299 8.4.4 使用原始二进制数据方式读写文件  308 第9章 数据库  316 9.1 Qt数据库编程概述  316 9.1.1 Qt SQL模块  316 9.1.2 SQLite数据库简介  318 9.1.3 本章示例数据库  318 9.2 QSqlTableModel的使用  319 9.2.1 主要的类和基本工作原理  320 9.2.2 示例窗口界面设计和类定义  323 9.2.3 打开数据库  324 9.2.4 其他功能的实现  332 9.3 QSqlQueryModel的使用  336 9.3.1 QSqlQueryModel类  336 9.3.2 使用QSqlQueryModel实现数据查询  337 9.4 QSqlQuery的使用  341 9.4.1 QSqlQuery类  342 9.4.2 QSqlQuery使用示例  344 9.5 QSqlRelationalTableModel的使用  352 9.5.1 数据表之间的关系  352 9.5.2 QSqlRelationalTableModel类的作用  353 9.5.3 QSqlRelationalTableModel类的主要接口函数  354 9.5.4 示例程序设计  355 第10章 绘图  358 10.1 QPainter绘图  358 10.1.1 QPainter绘图系统  358 10.1.2 创建示例  360 10.1.3 QPen的主要功能  361 10.1.4 QBrush的主要功能  362 10.1.5 渐变填充  363 10.1.6 QPainter绘制基本图形  367 10.2 坐标系统和坐标变换  370 10.2.1 坐标变换  370 10.2.2 坐标变换绘图实例  371 10.2.3 视口和窗口  373 10.2.4 绘图叠加的效果  375 10.3 图形/视图架构  376 10.3.1 场景、视图与图形项  377 10.3.2 图形/视图架构的坐标系  378 10.3.3 图形/视图架构相关的类  379 10.3.4 图形/视图架构示例程序  381 10.4 图像处理  386 10.4.1 图像表示和图像处理概述  387 10.4.2 QImage类  389 10.4.3 图像处理示例程序  393 10.4.4 打印功能的实现  401 第11章 自定义插件和库  406 11.1 设计和使用自定义界面组件  406 11.1.1 设计自定义界面组件类TBattery  406 11.1.2 使用自定义界面组件  409 11.2 设计和使用Qt Designer Widget插件  410 11.2.1 创建Qt Designer Widget插件项目  411 11.2.2 插件项目中各文件的功能实现  412 11.2.3 插件的编译与安装  415 11.2.4 使用自定义Widget插件  416 11.3 创建和使用静态库  418 11.3.1 创建静态库  418 11.3.2 使用静态库  420 11.4 创建和使用共享库  421 11.4.1 创建共享库  421 11.4.2 使用共享库  423 第12章 Qt Charts  425 12.1 Qt Charts模块概述  425 12.1.1 一个简单的QChart绘图程序  425 12.1.2 图表的主要组成部分  427 12.2 通过QChart绘制折线图  429 12.2.1 主窗口类定义和初始化  429 12.2.2 QPen属性设置对话框设计  432 12.2.3 图表各组成部件的属性设置  434 12.3 图表交互操作  444 12.3.1 图表交互操作概述  444 12.3.2 自定义图表视图类TChartView  446 12.3.3 主窗口设计和初始化  449 12.3.4 交互操作功能的实现  451 12.4 饼图和各种柱状图  455 12.4.1 主窗口设计和数据准备  455 12.4.2 柱状图  459 12.4.3 堆叠柱状图  464 12.4.4 百分比柱状图  465 12.4.5 饼图  467 第13章 Qt Data Visualization  470 13.1 Data Visualization模块概述  470 13.2 三维柱状图  471 13.2.1 示例主窗口设计  472 13.2.2 初始化创建三维柱状图  473 13.2.3 其他功能的实现  477 13.3 三维散点图  483 13.3.1 绘制三维散点图  483 13.3.2 散点数据管理  486 13.4 三维曲面图  487 13.4.1 一般的三维曲面图  488 13.4.2 三维地形图  493 第14章 多线程  495 14.1 使用QThread创建多线程程序  495 14.1.1 QThread类简介  495 14.1.2 掷骰子的多线程应用程序  496 14.2 线程同步  500 14.2.1 线程同步的概念  500 14.2.2 基于互斥量的线程同步  501 14.2.3 基于读写锁的线程同步  504 14.2.4 基于条件等待的线程同步  506 14.2.5 基于信号量的线程同步  510 第15章 网络  515 15.1 主机信息查询  515 15.1.1 QHostInfo类和QNetworkInterface类  515 15.1.2 QHostInfo类的使用  516 15.1.3 QNetworkInterface类的使用  518 15.2 TCP通信  519 15.2.1 TCP通信相关的类  520 15.2.2 TCP服务器端程序设计  522 15.2.3 TCP客户端程序设计  526 15.3 UDP通信  528 15.3.1 QUdpSocket类  528 15.3.2 UDP单播和广播  529 15.3.3 UDP组播  533 15.4 基于HTTP的网络应用程序  536 第16章 多媒体  540 16.1 多媒体模块功能概述  540 16.2 播放音频  541 16.2.1 QMediaPlayer功能概述  541 16.2.2 基于QMediaPlayer的音乐播放器  543 16.2.3 使用QSoundEffect播放音效文件  549 16.3 录制音频  549 16.3.1 QMediaRecorder类功能概述  549 16.3.2 示例功能实现  550 16.4 采集和播放原始音频数据  554 16.4.1 QAudioSource类和QAudioSink类功能概述  554 16.4.2 示例程序功能概述  556 16.4.3 采集原始音频数据  557 16.4.4 播放原始音频数据  563 16.5 播放视频文件  565 16.5.1 在QVideoWidget上播放视频文件  565 16.5.2 在QGraphicsVideoItem上播放视频文件  569 16.6 摄像头的使用  570 16.6.1 摄像头控制概述  570 16.6.2 示例主窗口类定义和初始化  573 16.6.3 拍照  578 16.6.4 录像  579 第17章 串口编程  581 17.1 Qt Serial Port模块概述  581 17.1.1 QSerialPortInfo类  581 17.1.2 QSerialPort类  581 17.2 串口编程示例:ESP8266模块通信程序  583 17.2.1 自定义标签类TMyLabel的设计和使用  585 17.2.2 主窗口类定义和初始化  585 17.2.3 通过串口读写数据  587 第18章 其他工具软件和技术  591 18.1 多语言界面  591 18.1.1 多语言界面程序设计概述  591 18.1.2 多语言界面程序设计示例  593 18.2 Qt样式表  597 18.2.1 QSS的作用  597 18.2.2 QSS的句法  598 18.2.3 样式表的使用  603 18.3 Qt应用程序的发布和安装  605 18.3.1 Windows平台上的Qt应用程序发布  605 18.3.2 制作安装文件  607 附录 缩略词  612

      下载次数 173次 资源类型 技术文档 上传时间 2023-08-29

最近访客

< 1/1 >

统计信息

已有3人来访过

  • 芯积分:117
  • 好友:--
  • 主题:--
  • 回复:0

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言