Qt图形界面编程入门 / 大学计算机基础教育规划教材
¥39.50定价
作者: 仇国巍
出版时间:2017年3月
出版社:清华大学出版社
- 清华大学出版社
- 9787302460633
- 1-1
- 104182
- 16开
- 2017年3月
- 工学
- 软件工程
- TP312
- 计算机
- 本专科、高职高专
内容简介
本书着重讲解利用Qt开发图形界面程序的基础知识。全书共10章,主要内容包括C 语言中面向对象的知识、集成开发环境Qt Creator、基本窗体控件、菜单和工具栏、对话框、界面布局、事件系统、二维绘图、样式表等方面的内容。基本覆盖了利用C 语言在Qt开发平台下开发窗口界面的知识。第10章给出3个比较大的范例,建议先自己思考并编写程序,而后和本书例程对照,从而更有效地提高编程水平。本书讲述力求简单实用、步骤详尽,非常适合课堂讲解少而练习时间多的授课方式,也适合在翻转课堂教学模式下引导学生自我学习。本书要求读者具有C语言编程基础,在此基础上即可顺利地学习本书内容。建议共安排48学时,其中,24学时授课,24学时上机练习。 本书适合作为高校相关专业教材,也可供软件开发人员自学参考。
目录
目录
第1章类和对象1
1.1面向对象程序设计1
1.2类的声明和对象创建4
1.2.1如何声明一个类4
1.2.2定义和使用对象5
1.2.3对象的指针和引用7
1.3公有成员和私有成员10
1.3.1公有和私有成员的权限10
1.3.2私有变量内容的设置和获取13
1.4构造函数和析构函数15
1.4.1构造函数的定义15
1.4.2函数重载与构造函数17
1.4.3如何调用构造函数18
1.4.4构造函数的初始化列表22
1.4.5析构函数的定义及作用23
1.5类的静态成员25
习题126
第2章类的继承和多态28
2.1继承和多态的概念28
2.2类的继承29
2.2.1派生类的定义29
2.2.2类的公有继承方式30
2.2.3类的私有继承方式33
2.2.4类的保护继承方式36
2.2.5类成员访问方式小结37
2.2.6派生类的构造和析构函数38
2.3类的多态性41
2.3.1多态性的两种形式412.3.2派生类对象转换为基类对象43
2.3.3虚函数定义及使用45
2.3.4纯虚函数和抽象类47
2.3.5运算符重载50
习题252
第3章初识Qt开发框架54
3.1Qt的历史渊源54
3.2安装Qt开发系统54
3.2.1Qt系统下载54
3.2.2Qt Creator简介55
3.3创建一个简单程序57
3.3.1手工编码方式57
3.3.2无UI的向导方式58
3.3.3Qt设计器方式60
3.4信号和槽通信机制64
3.4.1信号65
3.4.2槽65
3.4.3关联信号与槽66
3.4.4信号和槽举例66
3.5如何发现程序的错误69
3.6字符类和字符串类70
3.6.1字符类QChar70
3.6.2字符串类QString71
习题375
第4章基本窗口及控件77
4.1基本窗口类QWidget77
4.2窗口控件类概览79
4.3标签80
4.4按钮81
4.5单选按钮、复选框83
4.6组合框85
4.7列表框86
4.8单行编辑框88
4.9滑动条89
4.10进度条90
4.11抽屉效果92
4.12选项卡控件93
4.13层叠窗体95
4.14树状控件96
4.15表格控件98
4.16富文本控件101
习题4103
第5章主窗口及对话框105
5.1主窗口区域划分105
5.2菜单、工具栏和状态栏106
5.2.1手工添加菜单及工具栏106
5.2.2用设计器添加菜单和工具栏108
5.3对话框基础知识110
5.3.1模态和非模态对话框110
5.3.2通过对话框传递数据113
5.3.3标准对话框119
习题5125
第6章布局管理及多窗口技术126
6.1控件布局管理126
6.1.1水平布局127
6.1.2垂直布局128
6.1.3网格布局128
6.1.4表单布局132
6.1.5综合布局实例134
6.2窗口的切分与停靠136
6.2.1使用QSplitter实现分割窗口136
6.2.2可停靠窗口QDockWidget139
6.3多文档界面应用程序141
习题6143
第7章事件系统145
7.1事件机制概述145
7.2事件处理方法示例148
7.2.1重新实现事件处理器148
7.2.2重新实现event函数150
7.2.3在对象中使用事件过滤器151
7.2.4在QApplication中注册事件过滤器153
7.2.5重新实现notify函数155
7.3鼠标事件156
7.4键盘事件158
7.5定时器的使用161
7.5.1QObject类的定时器161
7.5.2定时器类QTimer163
习题7165
第8章二维绘图系统166
8.1绘图系统简介166
8.1.1QPainter类166
8.1.2几个绘图相关的类168
8.1.3屏幕重绘171
8.2画笔和画刷175
8.2.1画笔的使用175
8.2.2画刷的使用178
8.3渐变填充181
8.3.1线性渐变181
8.3.2辐射渐变183
8.3.3锥形渐变184
8.4绘制文字186
8.5绘制路径189
8.6绘制图片190
8.7坐标变换192
8.7.1平移变换193
8.7.2缩放变换194
8.7.3扭曲变换194
8.7.4旋转变换195
8.7.5坐标系的保存与恢复196
8.8实例: 绘图程序197
习题8202
第9章界面样式表203
9.1样式表小试牛刀203
9.1.1在Qt设计器中设置样式表203
9.1.2在程序中设置样式表205
9.2样式表语法基础207
9.2.1基本语法格式207
9.2.2选择器的类型207
9.2.3规则冲突的解决209
9.3方盒模型211
9.3.1什么是方盒模型211
9.3.2方盒模型相关属性211
9.4定制控件举例217
9.4.1按钮217
9.4.2单选按钮和复选框218
9.4.3单行文本框219
9.4.4进度条220
9.4.5滑动条221
9.4.6滚动条222
9.4.7列表框224
9.4.8组合框225
9.4.9选项卡226
9.4.10表格控件229
9.4.11其他控件229
习题9231
第10章编程实战演练233
10.1接金币小游戏233
10.1.1编程任务描述233
10.1.2算法分析234
10.1.3编程实现235
10.2俄罗斯方块240
10.2.1编程任务描述240
10.2.2数据结构设计241
10.2.3方块移动算法242
10.2.4方块旋转算法243
10.2.5位图素材准备244
10.2.6程序实现过程246
10.3游戏大厅界面258
10.3.1编程任务描述258
10.3.2顶部窗口实现260
10.3.3左下方窗口实现263
10.3.4主窗体的实现270
后记276
第1章类和对象1
1.1面向对象程序设计1
1.2类的声明和对象创建4
1.2.1如何声明一个类4
1.2.2定义和使用对象5
1.2.3对象的指针和引用7
1.3公有成员和私有成员10
1.3.1公有和私有成员的权限10
1.3.2私有变量内容的设置和获取13
1.4构造函数和析构函数15
1.4.1构造函数的定义15
1.4.2函数重载与构造函数17
1.4.3如何调用构造函数18
1.4.4构造函数的初始化列表22
1.4.5析构函数的定义及作用23
1.5类的静态成员25
习题126
第2章类的继承和多态28
2.1继承和多态的概念28
2.2类的继承29
2.2.1派生类的定义29
2.2.2类的公有继承方式30
2.2.3类的私有继承方式33
2.2.4类的保护继承方式36
2.2.5类成员访问方式小结37
2.2.6派生类的构造和析构函数38
2.3类的多态性41
2.3.1多态性的两种形式412.3.2派生类对象转换为基类对象43
2.3.3虚函数定义及使用45
2.3.4纯虚函数和抽象类47
2.3.5运算符重载50
习题252
第3章初识Qt开发框架54
3.1Qt的历史渊源54
3.2安装Qt开发系统54
3.2.1Qt系统下载54
3.2.2Qt Creator简介55
3.3创建一个简单程序57
3.3.1手工编码方式57
3.3.2无UI的向导方式58
3.3.3Qt设计器方式60
3.4信号和槽通信机制64
3.4.1信号65
3.4.2槽65
3.4.3关联信号与槽66
3.4.4信号和槽举例66
3.5如何发现程序的错误69
3.6字符类和字符串类70
3.6.1字符类QChar70
3.6.2字符串类QString71
习题375
第4章基本窗口及控件77
4.1基本窗口类QWidget77
4.2窗口控件类概览79
4.3标签80
4.4按钮81
4.5单选按钮、复选框83
4.6组合框85
4.7列表框86
4.8单行编辑框88
4.9滑动条89
4.10进度条90
4.11抽屉效果92
4.12选项卡控件93
4.13层叠窗体95
4.14树状控件96
4.15表格控件98
4.16富文本控件101
习题4103
第5章主窗口及对话框105
5.1主窗口区域划分105
5.2菜单、工具栏和状态栏106
5.2.1手工添加菜单及工具栏106
5.2.2用设计器添加菜单和工具栏108
5.3对话框基础知识110
5.3.1模态和非模态对话框110
5.3.2通过对话框传递数据113
5.3.3标准对话框119
习题5125
第6章布局管理及多窗口技术126
6.1控件布局管理126
6.1.1水平布局127
6.1.2垂直布局128
6.1.3网格布局128
6.1.4表单布局132
6.1.5综合布局实例134
6.2窗口的切分与停靠136
6.2.1使用QSplitter实现分割窗口136
6.2.2可停靠窗口QDockWidget139
6.3多文档界面应用程序141
习题6143
第7章事件系统145
7.1事件机制概述145
7.2事件处理方法示例148
7.2.1重新实现事件处理器148
7.2.2重新实现event函数150
7.2.3在对象中使用事件过滤器151
7.2.4在QApplication中注册事件过滤器153
7.2.5重新实现notify函数155
7.3鼠标事件156
7.4键盘事件158
7.5定时器的使用161
7.5.1QObject类的定时器161
7.5.2定时器类QTimer163
习题7165
第8章二维绘图系统166
8.1绘图系统简介166
8.1.1QPainter类166
8.1.2几个绘图相关的类168
8.1.3屏幕重绘171
8.2画笔和画刷175
8.2.1画笔的使用175
8.2.2画刷的使用178
8.3渐变填充181
8.3.1线性渐变181
8.3.2辐射渐变183
8.3.3锥形渐变184
8.4绘制文字186
8.5绘制路径189
8.6绘制图片190
8.7坐标变换192
8.7.1平移变换193
8.7.2缩放变换194
8.7.3扭曲变换194
8.7.4旋转变换195
8.7.5坐标系的保存与恢复196
8.8实例: 绘图程序197
习题8202
第9章界面样式表203
9.1样式表小试牛刀203
9.1.1在Qt设计器中设置样式表203
9.1.2在程序中设置样式表205
9.2样式表语法基础207
9.2.1基本语法格式207
9.2.2选择器的类型207
9.2.3规则冲突的解决209
9.3方盒模型211
9.3.1什么是方盒模型211
9.3.2方盒模型相关属性211
9.4定制控件举例217
9.4.1按钮217
9.4.2单选按钮和复选框218
9.4.3单行文本框219
9.4.4进度条220
9.4.5滑动条221
9.4.6滚动条222
9.4.7列表框224
9.4.8组合框225
9.4.9选项卡226
9.4.10表格控件229
9.4.11其他控件229
习题9231
第10章编程实战演练233
10.1接金币小游戏233
10.1.1编程任务描述233
10.1.2算法分析234
10.1.3编程实现235
10.2俄罗斯方块240
10.2.1编程任务描述240
10.2.2数据结构设计241
10.2.3方块移动算法242
10.2.4方块旋转算法243
10.2.5位图素材准备244
10.2.6程序实现过程246
10.3游戏大厅界面258
10.3.1编程任务描述258
10.3.2顶部窗口实现260
10.3.3左下方窗口实现263
10.3.4主窗体的实现270
后记276