Qt5开发及实例(完整版PDF).part2
目录 第1章 Qt概述 1 1.1 什么是Qt 1 1.2 Qt 5的安装 2 1.2.1 下载Qt 5 Creator 2 1.2.2 运行Qt 5 Creator 2 1.2.3 Qt 5开发环境 4 1.3 Qt 5开发步骤及实例 6 1.3.1 Qt 5 Designer设计简单实例 7 1.3.2 代码实现简单实例 16 L1.2 Qt 5安装:概念解析 19 伙伴编辑模式(Edit Buddy) 19 L1.3 Qt 5开发步骤及实例:概念解析 19 L1 信号和槽机制(Signal&Slot) 19 L2 Qt 5元对象系统 22 L3 布局管理器 22 第2章 Qt 5模板库、工具类及控件 23 2.1 字符串类 23 2.1.1 操作字符串 23 2.1.2 查询字符串数据 25 2.1.3 字符串的转换 26 2.2 容器类 28 2.2.1 QList类、QLinkedList类和QVector类 29 2.2.2 QMap类和QHash类 35 2.3 QVariant类 38 2.4 算法及正则表达式 41 2.4.1 Qt 5常用算法 42 2.4.2 基本的正则表达式 43 2.5 控件 44 2.5.1 按钮组(Butt ons) 44 2.5.2 输入控件组(Input Widgets) 46 2.5.3 显示控件组(Display Widgets) 48 2.5.4 空间间隔组(Spacers) 49 2.5.5 布局管理组(Layouts) 49 2.5.6 容器组(Containers) 50 2.5.7 项目视图组(Item Views) 53 2.5.8 项目控件组(Item Widgets) 55 2.5.9 小综合例子 60 L2.1 字符串类QString:概念解析 65 L1 隐式共享 65 L2 内存分配策略 66 L2.5 Qt 5控件:概念解析 67 Qt5::WindowFlags枚举类型 67 第3章 Qt 5布局管理 70 3.1 分割窗口QSplitter类 70 3.2 停靠窗口QDockWidget类 72 3.3 堆栈窗体QStackedWidget类 76 3.4 基本布局(QLayout) 79 3.5 综合例子:修改用户资料 86 第4章 Qt 5基本对话框 99 4.1 标准文件对话框类 104 4.1.1 函数说明 104 4.1.2 创建步骤 105 4.2 标准颜色对话框类 106 4.2.1 函数说明 106 4.2.2 创建步骤 107 4.3 标准字体对话框类 108 4.3.1 函数说明 108 4.3.2 创建步骤 108 4.4 标准输入对话框类 109 4.4.1 标准字符串输入对话框 113 4.4.2 标准条目选择对话框 114 4.4.3 标准int类型输入对话框 115 4.4.4 标准double类型输入对话框 116 4.5 消息对话框类 117 4.5.1 Question消息框 121 4.5.2 Information消息框 122 4.5.3 Warning消息框 123 4.5.4 Critical消息框 124 4.5.5 About消息框 124 4.5.6 About Qt消息框 125 4.6 自定义消息框 125 4.7 工具盒类 128 4.8 进度条 134 4.9 调色板与电子钟 139 4.9.1 QPalette类 139 4.9.2 QTime类 147 4.9.3 综合例子 147 4.10 可扩展对话框 151 4.11 不规则窗体 156 4.12 程序启动画面(QSplashScreen) 159 第5章 Qt 5主窗体 162 5.1 Qt 5主窗体构成 162 5.1.1 基本元素 162 5.1.2 典型案例(文本编辑器) 163 5.1.3 菜单与工具栏的实现 168 5.2 Qt 5文件操作功能 174 5.2.1 新建文件 174 5.2.2 打开文件 175 5.2.3 打印文件 178 5.3 Qt 5图像坐标变换 181 5.3.1 缩放功能 181 5.3.2 旋转功能 183 5.3.3 镜像功能 184 5.4 Qt 5文本编辑功能 186 5.4.1 设置字体 189 5.4.2 设置字号 190 5.4.3 设置文字加粗 191 5.4.4 设置字体倾斜 191 5.4.5 文字加下画线 191 5.4.6 设置文字颜色 192 5.4.7 设置字符格式 193 5.5 Qt 5排版功能 193 5.5.1 实现段落对齐 195 5.5.2 实现文本排序 196 第6章 Qt 5图形与图片 200 6.1 Qt 5位置相关函数 200 6.1.1 区别概述 200 6.1.2 使用举例 201 6.2 Qt 5基础图形的绘制 206 6.2.1 绘图框架设计 206 6.2.2 绘图区的实现 207 6.2.3 主窗口的实现 212 6.3 Qt 5双缓冲机制 228 6.3.1 原理与设计 228 6.3.2 绘图区的实现 230 6.3.3 主窗口的实现 235 6.4 显示Qt 5 SVG格式图片 239 L6.4 Qt 5 SVG格式图片显示方法:概念解析 246 XML 246 第7章 Qt 5图形视图框架 247 7.1 图形视图体系结构 247 7.1.1 Graphics View的特点 247 7.1.2 Graphics View的三元素 248 7.1.3 GraphicsView的坐标系统 249 7.2 图形视图 251 7.2.1 飞舞的蝴蝶实例 252 7.2.2 地图浏览器实例 257 7.2.3 各种图元创建及实例 264 7.2.4 图元旋转、缩放、切变和位移及实例 277 第8章 Qt 5模型/视图结构 286 8.1 概述 287 8.1.1 基本概念 287 8.1.2 模型/视图类 288 8.2 模型(Model) 290 8.3 视图(View) 295 8.4 代理(Delegate) 310 第9章 Qt 5文件及磁盘处理 321 9.1 读写文本文件 321 9.1.1 QFile类读写文本 321 9.1.2 QTextStream类读写文本 323 9.2 读写二进制文件 325 9.3 目录操作与文件系统 327 9.3.1 文件大小及路径获取实例 328 9.3.2 文件系统浏览实例 330 9.4 获取文件信息 335 9.5 监视文件和目录变化 341 第10章 Qt 5网络与通信 344 10.1 获取本机网络信息 344 10.2 基于UDP的网络广播程序 348 10.2.1 UDP协议工作原理 349 10.2.2 UDP 编程模型 349 10.2.3 UDP服务器编程实例 350 10.2.4 UDP客户端编程实例 353 10.3 基于TCP的网络聊天室程序 357 10.3.1 TCP协议工作原理 357 10.3.2 TCP编程模型 357 10.3.3 TCP服务器编程实例 358 10.3.4 TCP客户端编程实例 366 10.4 Qt网络应用开发初步 373 10.4.1 网页浏览实例 374 10.4.2 文件下载实例 375 第11章 Qt 5事件处理 380 11.1 鼠标事件及实例 380 11.2 键盘事件及实例 383 11.3 事件过滤及实例 391 第12章 Qt 5多线程 397 12.1 多线程的简单实例 398 12.2 多线程控制 402 12.2.1 互斥量 403 12.2.2 信号量 405 12.2.3 线程等待与唤醒 409 12.3 多线程应用 413 12.3.1 服务器编程实例 413 12.3.2 客户端编程实例 420 第13章 Qt 5数据库 426 13.1 数据库基本概念 426 13.2 常用SQL命令 430 13.2.1 数据查询 430 13.2.2 数据操作 434 13.3 Qt操作数据库实例 436 13.3.1 Qt操作SQLite数据库 436 13.3.2 Qt操作主/从视图及XML 444 第14章 Qt 5多国语言国际化 481 14.1 概念 481 14.1.1 国际化的支持的实现 482 14.1.2 翻译工作:“*.qm”文件的生成 483 14.2 实例 483 14.2.1 实例1 483 14.2.2 实例2 488 第15章 Qt 5单元测试框架 494 15.1 QTestLib框架 494 15.2 简单的Qt单元测试 495 15.3 数据驱动测试 499 15.4 简单性能测试 504 第16章 Qt 5综合实例:汽车销售管理系统 506 16.1 功能介绍与界面设计 506 16.1.1 功能简介 506 16.1.2 主界面设计 507 16.1.3 菜单设计 508 16.2 实现品牌车管理功能 511 16.2.1 出售车辆 511 16.2.2 日销售清单 517 16.3 销售统计图表功能 524 16.3.1 视图设计 524 16.3.2 界面设计 528 16.4 添加登录界面 531 第17章 综合实例:Qt版Word字处理软件 535 17.1 核心功能界面演示 535 17.2 界面设计与开发 537 17.2.1 建立MDI程序框架 537 17.2.2 菜单系统设计 542 17.2.3 工具栏设计 556 17.2.4 子窗口管理 561 17.2.5 界面生成试运行 569 17.3 基本编辑功能实现 573 17.3.1 打开文件 573 17.3.2 保存文件 577 17.3.3 文本操作 581 17.4 文档排版美化功能实现 583 17.4.1 字体格式设置 583 17.4.2 段落对齐设置 587 17.4.3 颜色设置 588 17.4.4 段落标号、编号 590 17.4.5 文档打印与预览 593 第18章 综合实例:Qt版聊天软件 597 18.1 核心功能界面演示 597 18.2 界面设计与开发 599 18.2.1 创建“抽屉盒” 599 18.2.2 设计聊天窗口 604 18.2.3 将图片按钮与聊天窗关联 607 18.3 基本聊天会话功能实现 612 18.3.1 基本原理 612 18.3.2 消息类型与UDP广播 613 18.3.3 会话过程的处理 618 18.3.4 聊天程序试运行 621 18.4 文件传输功能实现 622 18.4.1 需求方案 622 18.4.2 服务器开发 623 18.4.3 客户端开发 631 18.4.4 主界面的控制 637 18.4.5 文件传输试验 641 18.5 附加功能实现 641 18.5.1 更改字体、字号和颜色 641 18.5.2 字体切换 644 18.5.3 保存和清除聊天记录 645 第19章 Linux下Qt的安装和简单使用 648 19.1 安装Qt步骤 648 19.2 Hello World例子 650 19.2.1 通过编写代码实现 651 19.2.2 通过Qt Designer实现 654 附录A C++相关知识 660 A.1 C++程序结构 660 A.2 C++预处理 661 A.3 C++异常处理 664 A.4 C++面向对象编程 667 附录B Qt 5调试 679 B.1 修正语法错误 679 B.2 设置断点 680 B.3 程序调试运行 681 B.4 查看和修改变量的值 682 B.5 qDebug()的用法 684 ons) 44 2.5.2 输入控件组(Input Widgets) 46 2.5.3 显示控件组(Display Widgets) 48 2.5.4 空间间隔组(Spacers) 49 2.5.5 布局管理组(Layouts) 49 2.5.6 容器组(Containers) 50 2.5.7 项目视图组(Item Views) 53 2.5.8 项目控件组(Item Widgets) 55 2.5.9 小综合例子 60 L2.1 字符串类QString:概念解析 65 L1 隐式共享 65 L2 内存分配策略 66 L2.5 Qt 5控件:概念解析 67 Qt5::WindowFlags枚举类型 67 第3章 Qt 5布局管理 70 3.1 分割窗口QSplitter类 70 3.2 停靠窗口QDockWidget类 72 3.3 堆栈窗体QStackedWidget类 76 3.4 基本布局(QLayout) 79 3.5 综合例子:修改用户资料 86 第4章 Qt 5基本对话框 99 4.1 标准文件对话框类 104 4.1.1 函数说明 104 4.1.2 创建步骤 105 4.2 标准颜色对话框类 106 4.2.1 函数说明 106 4.2.2 创建步骤 107 4.3 标准字体对话框类 108 4.3.1 函数说明 108 4.3.2 创建步骤 108 4.4 标准输入对话框类 109 4.4.1 标准字符串输入对话框 113 4.4.2 标准条目选择对话框 114 4.4.3 标准int类型输入对话框 115 4.4.4 标准double类型输入对话框 116 4.5 消息对话框类 117 4.5.1 Question消息框 121 4.5.2 Information消息框 122 4.5.3 Warning消息框 123 4.5.4 Critical消息框 124 4.5.5 About消息框 124 4.5.6 About Qt消息框 125 4.6 自定义消息框 125 4.7 工具盒类 128 4.8 进度条 134 4.9 调色板与电子钟 139 4.9.1 QPalette类 139 4.9.2 QTime类 147 4.9.3 综合例子 147 4.10 可扩展对话框 151 4.11 不规则窗体 156 4.12 程序启动画面(QSplashScreen) 159 第5章 Qt 5主窗体 162 5.1 Qt 5主窗体构成 162 5.1.1 基本元素 162 5.1.2 典型案例(文本编辑器) 163 5.1.3 菜单与工具栏的实现 168 5.2 Qt 5文件操作功能 174 5.2.1 新建文件 174 5.2.2 打开文件 175 5.2.3 打印文件 178 5.3 Qt 5图像坐标变换 181 5.3.1 缩放功能 181 5.3.2 旋转功能 183 5.3.3 镜像功能 184 5.4 Qt 5文本编辑功能 186 5.4.1 设置字体 189 5.4.2 设置字号 190 5.4.3 设置文字加粗 191 5.4.4 设置字体倾斜 191 5.4.5 文字加下画线 191 5.4.6 设置文字颜色 192 5.4.7 设置字符格式 193 5.5 Qt 5排版功能 193 5.5.1 实现段落对齐 195 5.5.2 实现文本排序 196 第6章 Qt 5图形与图片 200 6.1 Qt 5位置相关函数 200 6.1.1 区别概述 200 6.1.2 使用举例 201 6.2 Qt 5基础图形的绘制 206 6.2.1 绘图框架设计 206 6.2.2 绘图区的实现 207 6.2.3 主窗口的实现 212 6.3 Qt 5双缓冲机制 228 6.3.1 原理与设计 228 6.3.2 绘图区的实现 230 6.3.3 主窗口的实现 235 6.4 显示Qt 5 SVG格式图片 239 L6.4 Qt 5 SVG格式图片显示方法:概念解析 246 XML 246 第7章 Qt 5图形视图框架 247 7.1 图形视图体系结构 247 7.1.1 Graphics View的特点 247 7.1.2 Graphics View的三元素 248 7.1.3 GraphicsView的坐标系统 249 7.2 图形视图 251 7.2.1 飞舞的蝴蝶实例 252 7.2.2 地图浏览器实例 257 7.2.3 各种图元创建及实例 264 7.2.4 图元旋转、缩放、切变和位移及实例 277 第8章 Qt 5模型/视图结构 286 8.1 概述 287 8.1.1 基本概念 287 8.1.2 模型/视图类 288 8.2 模型(Model) 290 8.3 视图(View) 295 8.4 代理(Delegate) 310 第9章 Qt 5文件及磁盘处理 321 9.1 读写文本文件 321 9.1.1 QFile类读写文本 321 9.1.2 QTextStream类读写文本 323 9.2 读写二进制文件 325 9.3 目录操作与文件系统 327 9.3.1 文件大小及路径获取实例 328 9.3.2 文件系统浏览实例 330 9.4 获取文件信息 335 9.5 监视文件和目录变化 341 第10章 Qt 5网络与通信 344 10.1 获取本机网络信息 344 10.2 基于UDP的网络广播程序 348 10.2.1 UDP协议工作原理 349 10.2.2 UDP 编程模型 349 10.2.3 UDP服务器编程实例 350 10.2.4 UDP客户端编程实例 353 10.3 基于TCP的网络聊天室程序 357 10.3.1 TCP协议工作原理 357 10.3.2 TCP编程模型 357 10.3.3 TCP服务器编程实例 358 10.3.4 TCP客户端编程实例 366 10.4 Qt网络应用开发初步 373 10.4.1 网页浏览实例 374 10.4.2 文件下载实例 375 第11章 Qt 5事件处理 380 11.1 鼠标事件及实例 380 11.2 键盘事件及实例 383 11.3 事件过滤及实例 391 第12章 Qt 5多线程 397 12.1 多线程的简单实例 398 12.2 多线程控制 402 12.2.1 互斥量 403 12.2.2 信号量 405 12.2.3 线程等待与唤醒 409 12.3 多线程应用 413 12.3.1 服务器编程实例 413 12.3.2 客户端编程实例 420 第13章 Qt 5数据库 426 13.1 数据库基本概念 426 13.2 常用SQL命令 430 13.2.1 数据查询 430 13.2.2 数据操作 434 13.3 Qt操作数据库实例 436 13.3.1 Qt操作SQLite数据库 436 13.3.2 Qt操作主/从视图及XML 444 第14章 Qt 5多国语言国际化 481 14.1 概念 481 14.1.1 国际化的支持的实现 482 14.1.2 翻译工作:“*.qm”文件的生成 483 14.2 实例 483 14.2.1 实例1 483 14.2.2 实例2 488 第15章 Qt 5单元测试框架 494 15.1 QTestLib框架 494 15.2 简单的Qt单元测试 495 15.3 数据驱动测试 499 15.4 简单性能测试 504 第16章 Qt 5综合实例:汽车销售管理系统 506 16.1 功能介绍与界面设计 506 16.1.1 功能简介 506 16.1.2 主界面设计 507 16.1.3 菜单设计 508 16.2 实现品牌车管理功能 511 16.2.1 出售车辆 511 16.2.2 日销售清单 517 16.3 销售统计图表功能 524 16.3.1 视图设计 524 16.3.2 界面设计 528 16.4 添加登录界面 531 第17章 综合实例:Qt版Word字处理软件 535 17.1 核心功能界面演示 535 17.2 界面设计与开发 537 17.2.1 建立MDI程序框架 537 17.2.2 菜单系统设计 542 17.2.3 工具栏设计 556 17.2.4 子窗口管理 561 17.2.5 界面生成试运行 569 17.3 基本编辑功能实现 573 17.3.1 打开文件 573 17.3.2 保存文件 577 17.3.3 文本操作 581 17.4 文档排版美化功能实现 583 17.4.1 字体格式设置 583 17.4.2 段落对齐设置 587 17.4.3 颜色设置 588 17.4.4 段落标号、编号 590 17.4.5 文档打印与预览 593 第18章 综合实例:Qt版聊天软件 597 18.1 核心功能界面演示 597 18.2 界面设计与开发 599 18.2.1 创建“抽屉盒” 599 18.2.2 设计聊天窗口 604 18.2.3 将图片按钮与聊天窗关联 607 18.3 基本聊天会话功能实现 612 18.3.1 基本原理 612 18.3.2 消息类型与UDP广播 613 18.3.3 会话过程的处理 618 18.3.4 聊天程序试运行 621 18.4 文件传输功能实现 622 18.4.1 需求方案 622 18.4.2 服务器开发 623 18.4.3 客户端开发 631 18.4.4 主界面的控制 637 18.4.5 文件传输试验 641 18.5 附加功能实现 641 18.5.1 更改字体、字号和颜色 641 18.5.2 字体切换 644 18.5.3 保存和清除聊天记录 645 第19章 Linux下Qt的安装和简单使用 648 19.1 安装Qt步骤 648 19.2 Hello World例子 650 19.2.1 通过编写代码实现 651 19.2.2 通过Qt Designer实现 654 附录A C++相关知识 660 A.1 C++程序结构 660 A.2 C++预处理 661 A.3 C++异常处理 664 A.4 C++面向对象编程 667 附录B Qt 5调试 679 B.1 修正语法错误 679 B.2 设置断点 680 B.3 程序调试运行 681 B.4 查看和修改变量的值 682 B.5 qDebug()的用法 684
用户评论