编辑推荐
适读人群:高等学校软件工程、计算机专业的本科低年级学生,大中专软件工程、计算机专业低年级学生,Qt编程自学者。
《C++ Qt程序设计工程实训教程》两个实际项目为背景,循序渐进地介绍QtC++开发应用程序的技术,有以下几个特点。
1.以Qt5.9.1为开发版本,版本较新,未来三年内有持续的支持。
2.适合作为高等学校Qt程序设计工程实训课程的教材,填补了低年级Qt程序设计工程实训课程教材的空白,也适合作为Qt初学者的入门参考书。
3.按照完成一个独立的实训项目需要的知识点来组织内容,每个实训项目均分布一些基本的知识点,使读者通过学习和实践,由浅入深地掌握C++Qt编程知识,增加学习兴趣。
内容简介
《C++ Qt程序设计工程实训教程》介绍以C++编程语言为基础的Qt图形界面编程,《C++ Qt程序设计工程实训教程》以两个实际项目为背景,共分为10个完整、独立的实训项目,按照完成一个独立的实际项目需要的知识点来组织每个实训内容,在实现功能递增的七个版本的计算器和两个版本的五子棋中不断深化,逐步引出面向Qt图形界面编程实践的问题和知识点。《C++ Qt程序设计工程实训教程》的**个实训是实训准备,介绍Qt编程环境的搭建;第二个至第八个实训,围绕图形界面计算器的实现,在功能复杂度逐步提高、逐步深化中展开,通过七个完整、独立的计算器实训,使读者掌握Qt图形界面编程的窗体控件、布局、菜单、事件、信号和槽等知识;第九、第十个实训,通过介绍五子棋人人对战和人机对战,使读者进一步掌握Qt的进阶编程。《C++ Qt程序设计工程实训教程》适合作为高等学校计算机及相关专业程序设计工程实训课程的教材,也可供计算机爱好者及其他自学人员参考。
作者简介
胡然,硕士,讲师,*家级大学生创新创业项目指导教师,南昌大学软件学院程序设计教学组长,连续多年承担C语言、C++、程序设计工程实训课程的教学工作,经验丰富。主要研究领域:软件工程,云计算。主持和参与*家级、省厅级、社会服务项目近10余项,发表EI论文多篇。
夏灵林,博士,副教授。主要研究领域:面向医疗电子、光电测控技术,从事计算机与生物医学工程交叉领域的软、硬件开发。发表SCI论文3篇,授权发明专利1项,社会服务项目5项,承担和参与*家级、省厅级课题累计10余项。
徐健锋,博士,副教授,美国东华盛顿大学访问学者。主要研究领域:人工智能、机器学习、大数据分析、粒计算、智能软件,近5年主持和参与国家自然基金3项,主持省科技厅教育厅项目5项,主持社会服务项目20余项,累计研究经费300余万元。
目录
目录
实训准备1
(一)实训内容1
(二)实训原理1
1.Qt简介1
2.Qt的下载和安装1
3.QtCreator简介2
4.QtAssistant5
5.创建第一个Qt程序HelloWorld9
6.设置环境变量9
(三)实训步骤10
(四)小结13
实训一计算器V1.0:简易计算器的实现14
(一)实训内容14
(二)实训原理14
1.Qt项目的结构14
2.QtDesigner简介15
3.窗口的常用属性和功能16
4.标签、行编辑器、按钮等常用控件的使用17
5.用QtDesiger设计一个桌面应用22
6.实现计算器V1.0:简易计算器24
(三)实训步骤24
(四)小结26
实训二计算器V2.0:基本计算器的实现27
(一)实训内容27
(二)实训原理27
1.布局管理器的基本概念和作用27
2.几种常用的布局管理器28
3.使用QtDesigner设计基本计算器界面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
前言/序言
前言
《C++ Qt程序设计工程实训教程》具有如下特色。
·适合作为高等学校低年级Qt程序设计工程实训课程的教材
目前,在基于C++的Qt编程领域,还没有专门针对计算机、软件专业低年级学生的参考教材,《C++ Qt程序设计工程实训教程》对每个实训项目,循序渐进地进行讲解,知识点清晰、步骤详尽,非常适合高等院校计算机、软件专业实验实践课程的授课方式,填补了低年级Qt程序设计工程实训课程教材的空白。
·在教材内容和结构体系上有新的突破
《C++ Qt程序设计工程实训教程》不是按照常规知识体系来组织教学内容,而是按照完成一个独立的实际项目需要的知识点来组织内容,每个工程实训均分布一些基本的知识点,使读者通过每个工程实训的学习和实践,由浅入深地掌握C++Qt编程知识。
·案例取材合适,内容循序渐进,富有启发性,便于自学
《C++ Qt程序设计工程实训教程》以两个实际项目为背景,在实现功能递增的七个版本的计算器和两个版本的五子棋中不断深化,逐步引出面向Qt图形界面编程实践的问题和知识点,富有启发性,可供计算机爱好者及各类自学人员参考。
《C++ Qt程序设计工程实训教程》总结和反映了作者长期积累的丰富经验,教学适用性较强。《C++ Qt程序设计工程实训教程》由胡然策划、组织和统稿。实训准备、实训一、实训二由徐健锋编写,实训三~实训六由胡然编写,实训七~实训九由夏灵林编写,袁坤、申昌建也为《C++ Qt程序设计工程实训教程》做了大量工作,在此一并表示感谢。《C++ Qt程序设计工程实训教程》获得南昌大学教材出版资助,江西省高等学校教学改革研究课题、南昌大学教学改革研究课题资助。《C++ Qt程序设计工程实训教程》提供配套电子课件和源代码等教学资源,读者可登录华信教育资源网(www.hxedu.com.cn)注册并免费下载。
由于作者水平有限,书中不当之处,请读者批评指正,作者的联系邮箱,欢迎提出宝贵意见。
作者