C++ Qt程序设计工程实训教程
作者:胡然
出版时间:2018年版
内容简介
本书介绍以C++编程语言为基础的Qt图形界面编程,全书以两个实际项目为背景,共分为10个完整、独立的实训项目,按照完成一个独立的实际项目需要的知识点来组织每个实训内容,在实现功能递增的七个版本的计算器和两个版本的五子棋中不断深化,逐步引出面向Qt图形界面编程实践的问题和知识点。本书的第一个实训是实训准备,介绍Qt编程环境的搭建;第二个至第八个实训,围绕图形界面计算器的实现,在功能复杂度逐步提高、逐步深化中展开,通过七个完整、独立的计算器实训,使读者掌握Qt图形界面编程的窗体控件、布局、菜单、事件、信号和槽等知识;第九、第十个实训,通过介绍五子棋人人对战和人机对战,使读者进一步掌握Qt的进阶编程。本书适合作为高等学校计算机及相关专业程序设计工程实训课程的教材,也可供计算机爱好者及其他自学人员参考。
目录
实训准备 1
(一)实训内容 1
(二)实训原理 1
1. Qt 简介 1
2. Qt 的下载和安装 1
3. Qt Creator简介 2
4. Qt Assistant 5
5. 创建一个Qt程序HelloWorld 9
6. 设置环境变量 9
(三)实训步骤 10
(四)小结 13
实训一 计算器V1.0:简易计算器的实现 14
(一)实训内容 14
(二)实训原理 14
1. Qt项目的结构 14
2. Qt Designer简介 15
3. 窗口的常用属性和功能 16
4. 标签、行编辑器、按钮等常用控件的使用 17
5. 用Qt Desiger设计一个桌面应用 22
6. 实现计算器V1.0:简易计算器 24
(三)实训步骤 24
(四)小结 26
实训二 计算器V2.0:基本计算器的实现 27
(一)实训内容 27
(二)实训原理 27
1. 布局管理器的基本概念和作用 27
2. 几种常用的布局管理器 28
3. 使用Qt Designer设计基本计算器界面 41
4. 使用布局管理器管理计算器界面 42
5. 实现计算器V2.0:基本计算器 42
(三)实训步骤 42
1. 界面设计 42
2. 功能实现 45
3. 运行程序 49
(四)小结 50
实训三 计算器V3.0:带键盘事件的计算器 51
(一)实训内容 51
(二)实训原理 51
1. Qt中信号和槽的概念 51
2. Qt中信号和槽的使用 52
3. Qt中的鼠标事件 58
4. Qt中的键盘事件 62
5. 为计算器增加键盘事件功能 64
(三)实训步骤 66
(四)小结 67
实训四 计算器V4.0:带括号表达式的计算器 68
(一)实训内容 68
(二)实训原理 68
1. qDebug()的使用 68
2. 栈 70
3. 前缀、中缀、后缀表达式 71
4. 将中缀表达式转换为后缀表达式的算法 72
5. 计算后缀表达式的算法 75
6. 实现带括号表达式的计算器 78
(三)实训步骤 78
(四)小结 87
实训五 计算器V5.0:带菜单和粘贴功能的计算器 89
(一)实训内容 89
(二)实训原理 89
1. 桌面程序主窗口框架 89
2. 对话框的基础知识 93
3. 添加应用程序图标 102
4. 实现带菜单、可复制表达式的计算器 104
(三)实训步骤 104
(四)小结 106
实训六 计算器V6.0:能够记忆的计算器 107
(一)实训内容 107
(二)实训原理 107
1. Qt中的富文本处理 107
2. Qt中文档的基本框架 107
3. 添加历史记录功能 112
(三)实训步骤 112
(四)小结 117
实训七 计算器V7.0:可扩展的科学计算器 118
(一)实训内容 118
(二)实训原理 118
1. Qt布局管理器可扩展窗口的应用 118
2. 添加科学计算可扩展功能 119
3. 切换可扩展科学计算器的实现 122
(三)实训步骤 122
(四)小结 132
实训八 双人对战五子棋 133
(一)实训内容 133
(二)实训原理 133
1. Qt中的2D绘图系统 133
2. 五子棋界面的绘制 136
3. 单击鼠标下棋 139
4. 判断赢棋 140
5. 双人对战五子棋 141
(三)实训步骤 141
(四)小结 152
实训九 人机对战五子棋 153
(一)实训内容 153
(二)实训原理 153
1. 五子棋的棋局形势 153
2. 估值函数的设计 156
3. 人机对战、可悔棋的五子棋 158
(三)实训步骤 158
(四)小结 172