第1章 走进Qt 1
1.1Qt简介 1
1.1.1认识Qt 1
1.1.2 Qt开发环境的主要构成介绍 2
1.1.3使用Qt开发C++应用程序的优势 4
1.2 Qt的下载、安装与配置 4
1.2.1 Windows平台下Qt的C++语言开发环境安装与配置 4
1.2.2 Linux平台下Qt的C++语言开发环境安装与配置 7
1.3 Qt Creator集成开发环境 12
1.3.1 Qt Creator集成开发环境 12
1.3.2 Qt Creator常用菜单功能介绍 13
1.3.3使用Qt创建项目 14
1.3.4 Qt开发环境的使用方法 18
1.3.5 Qt项目文件的建立、添加和删除 18
1.3.6编辑项目的源程序文件和界面文件 19
1.3.7项目编译模式及其配置 20
1.3.8编译并链接生成项目文件 20
1.3.9纠正编译或连接出现的错误 20
1.3.10 Qt工具栏的使用 21
1.4 Qt Creator联机帮助系统及其使用 21
1.4.1 Qt中如何寻求帮助 21
1.4.2帮助文件的打开及使用源代码编辑器 22
1.4.3缩小查找范围 23
1.5使用Qt Creator开发C++语言程序 24
1.5.1 Windows平台下使用Qt开发C++语言程序 24
1.5.2 Linux平台下使用Qt开发C++语言程序 29
1.6习题 36
第2章 C++程序设计基础 37
2.1 C++语言简介 37
2.1.1认识C++ 37
2.1.2 C++的标准化 37
2.2 C++源程序的结构 38
2.2.1C++源程序举例 38
2.2.2 C++源程序的结构 40
2.2.3 C++语言的基本语法成分 41
2.3基本数据与表达式 42
2.3.1数据类型 42
2.3.2常量和变量 44
2.3.3运算符与表达式 46
2.4 C++中的输入输出 47
2.5程序的控制结构 50
2.5.1顺序结构 50
2.5.2选择结构 50
2.5.3循环结构 55
2.5.4跳转语句 58
2.6函数 59
2.6.1函数 59
2.6.2函数的其他特性 62
2.7数组与字符串 65
2.7.1数组 65
2.7.2字符串与string类 67
2.8指针与引用 70
2.8.1指针 70
2.8.2引用 71
2.9 const修饰符 76
2.10动态内存分配 79
2.11习题 82
2.11.1选择题 82
2.11.2填空题 83
2.11.3编程题 84
第3章 类与对象 85
3.1面向对象程序设计概述 85
3.1.1面向对象的基本概念 85
3.1.2面向对象的基本特征 88
3.1.3面向对象的语言简介 89
3.2类与对象的定义 90
3.2.1类的定义 90
3.2.2对象的定义与使用 97
3.2.3类的作用域 101
3.2.4类的封装性和信息隐藏——公有接口与私有实现的分离 102
3.3构造函数与析构函数 104
3.3.1构造函数 104
3.3.2复制构造函数 113
3.3.3析构函数 118
3.4对象的深复制 120
3.5静态成员 122
3.5.1静态数据成员 122
3.5.2静态成员函数 124
3.6常类型 127
3.6.1常对象 127
3.6.2类的常数据成员 128
3.6.3类的常成员函数 129
3.7友元 131
3.7.1友元函数 131
3.7.2友元类 136
3.7.3友元应用举例 138
3.8对象数组与类的组合 140
3.8.1对象数组 140
3.8.2类的组合 144
3.9程序举例 147
3.10习题 149
3.10.1选择题 149
3.10.2问答及编程题 152
第4章 继承与派生 154
4.1单继承 155
4.1.1继承的定义 155
4.1.2访问控制 157
4.1.3重名的成员变量和成员函数 160
4.1.4在派生类中访问静态成员 162
4.1.5基类的初始化 163
4.2多继承 168
4.2.1派生类的构造与访问 168
4.2.2虚继承 169
4.3习题 170
第5章 虚函数与多态 171
5.1类指针的关系 172
5.2静态联编和动态联编 174
5.3虚函数 175
5.4纯虚函数和抽象类 178
5.5习题 181
第6章 运算符重载 182
6.1运算符重载概述 183
6.1.1运算符重载的实质 183
6.1.2用友元函数和成员函数重载运算符的异同 186
6.1.3++和--运算符的重载 188
6.2习题 191
第7章 模板和异常处理 192
7.1模板的概念 192
7.2函数模板 192
7.2.1函数模板的声明 192
7.2.2函数模板的实例化 193
7.2.3函数模板应用举例 195
7.3类模板 197
7.3.1类模板的定义 197
7.3.2类模板的实例化 198
7.3.3类模板的应用举例 199
7.4标准模板库 202
7.4.1容器 203
7.4.2算法 206
7.4.3迭代器 209
7.5异常处理 210
7.5.1异常处理概述 210
7.5.2异常处理的实现 211
7.5.3标准库中的异常类型 216
7.6习题 218
7.6.1选择题 218
7.6.2编程题 218
第8章 输入输出流与命名空间 220
8.1 I/O流的概念 220
8.2标准I/O流 221
8.2.1标准I/O流概述 221
8.2.2标准输出 222
8.2.3标准输入 224
8.2.4重载插入/提取函数 225
8.3格式控制 228
8.3.1用ios成员函数格式化 228
8.3.2用操纵算子格式化 231
8.4文件处理 232
8.4.1文件和流 232
8.4.2文件的打开和关闭 233
8.4.3文本文件 234
8.4.4二进制文件 235
8.5命名空间 238
8.6习题 241
第9章 图形界面程序设计基础 242
9.1图形界面程序设计基础知识 242
9.1.1 C++中的对象 242
9.1.2 Qt C++中的窗体 243
9.1.3 Qt C++中的部件和部件类 243
9.1.4 QtC ++中的属性(Properties)窗口 244
9.2 Qt的信号和槽 244
9.3 Qt的元对象系统 246
9.4 Qt命令行法开发图形界面程序 246
9.5 Qt中如何实现用户操作的响应 249
9.6 Qt中如何实现窗口部件的布局 250
9.7习题 252
第10章 对话框编程 254
10.1代码编程创建对话框 254
10.2对话框的可视化设计 263
10.3可扩展的对话框 271
10.4对话框的动态实现 279
10.5 Qt内置的窗口部件和对话框类 280
10.6习题 285
第11章 使用Qt开发文本编辑器 286
11.1 Qt Creator的下载和安装 286
11.2 Qt Creator开发简单的文本编辑器 287
11.2.1创建项目TextEditor 287
11.2.2 TextEditor的主窗口、菜单和图标 289
11.2.3 TextEditor文件新建、保存和另存为的功能实现 300
11.2.4 TextEditor文件的打开、关闭和退出系统的功能实现 308
11.2.5 TextEditor文本复制、剪切、粘贴以及撤销的功能实现 309
11.2.6 TextEditor文本查找功能的实现 310
11.2.7 TextEditor查找和定位函数的方法 311
11.2.8 TextEditor中实现状态栏 316
11.3习题 318
附录A C++关键字 319
附录B C++运算符 320
参考文献 321