第一部分Linux基础知识 1
第1章Linux系统概述 1
1.1 Linux简介 1
1.2 Linux内核基本概念 2
1.2.1 Linux内核的主要内部子系统 3
1.2.2 Linux内核命名方法 5
1.3 Linux桌面环境 5
1.3.1 KDE简介 5
1.3.2 GNOME简介 6
1.4 Linux的发行版本 7
1.4.1 Fedora 7
1.4.2 Debian 8
1.4.3 Ubuntu 9
1.4.4 Red Hat 9
1.4.5 openSUSE 10
1.4.6 红旗Linux 11
1.5.Linux下的软件安装 11
1.5.1 Redhat Package Manager 11
1.5.2 dpkg 11
第2章Ubuntu的安装与开发环境设置 12
2.1 Ubuntu的安装 12
2.2 Ubuntu常用设置 14
2.2.1新建用户 14
2.2.2网络设置 15
2.3 Ubuntu的版本 16
2.4开发环境的设置 18
2.4.1 Ubuntu下的Java安装与配置 18
2.4.2 Ubuntu下的Tomcat安装与配置 22
2.4.3 Ubuntu下的MySQL安装与配置 24
第3章Linux常用命令与配置 28
3.1文件与磁盘操作 28
3.1.1 pwd 28
3.1.2 is 28
3.1.3 cd 30
3.1.4 clear 31
3.1.5 mkdir 31
3.1.6 rmdir 32
3.1.7 find 32
3.1.8 cp 34
3.1.9 rm 35
3.1.10 chmod 36
3.1.11 locate 37
3.2文件编辑 38
3.2.1 we 38
3.2.2 cat 39
3.2.3 ed 40
3.2.4 sort 41
3.2.5 look 41
3.2.6 comm 42
3.2.7 expr 43
3.3网络命令 44
3.3.1 ifconfig 44
3.3.2 ping 45
3.3.3 telnet 46
3.3.4 netstat 46
3.3.5 traceroute 47
3.3.6 route 48
3.3.7 ip 48
3.3.8 host 49
3.3.9 ufw 50
3.3.10 wget 51
3.3.11 ps 52
3.3.12 pgrep 53
3.3.13 kill 53
3.3.14 sudo 54
3.4其他常用命令 54
3.4.1用户管理相关操作 54
3.4.2退出控制台 57
3.4.3 apt-get安装软件 57
第4章Linux文件系统 58
4.1 Linux分区 58
4.1.1磁盘设备 58
4.1.2挂载点 59
4.1.3 Ext4 59
4.1.4交换空间 60
4.2 Linux的文件 61
4.2.1文件的结构 61
4.2.2文件的属性 61
4.2.3可执行文件 62
4.2.4文件链接 62
4.3 Linux的目录 62
4.3.1工作目录与用户主目录 63
4.3.2路径与通配符 63
4.3.3 Linux目录结构 63
第二部分Qt程序基础 65
第5章Qt Creator下载与安装 65
5.1 Qt Creator下载 65
5.1.1使用软件中心下载Qt Creator 65
5.1.2访问Qt网站下载相关资源 66
5.2第一个Qt程序 66
5.3 Qt Creator介绍 70
5.3.1 Qt Creator界面介绍 70
5.3.2编译、调试、发布设置 73
5.4 Qt Designer介绍 74
第6章Qt基础 75
6.1 Qt概述与特性 75
6.1.1 Qt简介 75
6.1.2 Qt特性 76
6.2 Qt与X11的关系 77
6.2.1什么是 X11 77
6.2.2 Qt与X11 78
6.3 Qt与KDE的关系 78
6.3.1 KDE简介 78
6.3.2 Qt与KDE 79
6.4 Qt库和组件 79
6.4.1 Qt SDK简介 79
6.4.2 Qt主要组件介绍 81
第7章Qt编程方法 82
7.1 Qt应用程序的基本结构 82
7.1.1 Qt工程文件 82
7.1.2头文件和源文件 84
7.1.3元对象文件 84
7.2程序资源与管理 85
7.2.1界面交互文件(.ui) 85
7.2.2程序资源文件(.qrc) 87
7.3应用程序的创建 89
7.3.1创建GUI程序 89
7.3.2创建库工程 93
7.3.3创建console程序 96
第8章 信号与槽 100
8.1概述 100
8.1.1信号 100
8.1.2槽 101
8.2信号与槽的关联 101
8.2.1单信号与槽的实例 102
8.2.2多信号与槽的实例 105
8.3元对象工具 106
8.4应注意的问题 106
第9章Qt事件 110
9.1 Qt事件机制 110
9.1.1什么是Qt事件 110
9.1.2 Qt事件的响应 111
9.1.3自定义Qt事件 116
9.2 Qt事件的过滤 117
9.2.1 Qt事件的派发 117
9.2.2安装事件过滤器 118
9.3 Qt事件的截获 119
9.3.1截获win32窗口消息 120
9.3.2截获x11窗口事件 123
9.4 Qt按键事件实例 127
第10章MVC模型/视图 131
10.1 Qt的Model/View架构 131
10.2 Qt中Model/View相关类 132
10.3典型实例 133
10.3.1 QcolumnView类 133
10.3.2 QlistView类 135
10.3.3 QTableView类 137
10.3.4 QtreeView类 139
第三部分Qt界面设计 144
第11章Qt常用控件 144
11.1按钮控件 144
11.1.1 QPushButton类 144
11.1.2 QButtonGroup类和QRadioButton类 145
11.2文本类控件 147
11.2.1 QLineEdit类 147
11.2.2 QTextEdit类 149
11.3时间类控件 151
11.3.1 QTime类和QTimeEdit类 151
11.3.2 QDate类和QDateEdit类 153
11.3.3 QCalendarWidget类 155
11.4其他控件 156
11.4.1 QCombox类 156
11.4.2 QLCDNumber类 158
11.4.3 QProgressBar类 159
11.4.4 QSpinBox类和QDoubleSpinBox类 160
11.4.5 QSlider类 163
11.4.6 QTreeWidget类 165
11.4.7 QTabWidget类 168
第12章 布局管理 170
12.1 Qt布局管理介绍 170
12.2布局管理器 170
12.2.1 QHBoxLayout 171
12.2.2 QVBoxLayout 172
12.2.3 QGridLayout 172
12.2.4 QFormLayout 173
12.2.5 QStackedLayout 173
12.3综合实例 174
第13章 对话框 178
13.1 QDialog类 178
13.2子类化QDialog类 178
13.3常用标准对话框 182
13.3.1 QColorDialog类 182
13.3.2 QFileDialog类 184
13.3.3 QFontDialog类 187
13.3.4 QMessageBox类 189
13.3.5 QProgressDialog类 192
第14章QMainWindow主窗口应用程序 193
14.1简介 193
14.2菜单栏、工具栏与状态栏 194
14.2.1菜单栏 194
14.2.2 工具栏 195
14.2.3状态栏 196
14.3工作区 196
14.4滚动视图与锚接窗口 197
14.4.1滚动视图 197
14.4.2锚接窗口 197
14.5完整代码 198
第四部分 进阶应用 206
第15章Qt容器类 206
15.1通用顺序容器 206
15.1.1类摘要 207
15.1.2常用操作函数 208
15.1.3访问元素 210
15.1.4查找与替换 214
15.1.5综合应用 215
15.1.6隐含共享 216
15.2迭代器 218
15.2.1 Java风格迭代器 218
15.2.2 STL风格迭代器 220
15.2.3 STL风格迭代器与通用算法 222
15.2.4综合应用 226
15.3通用链式容器 228
15.3.1类摘要 228
15.3.2常用操作函数 229
15.3.3访问元素 231
15.4关联容器 231
15.4.1类摘要 231
15.4.2常用操作函数 232
15.4.3访问元素 233
第16章 文件操作 236
16.1 QFile类 236
16.1.1读写二进制流文件 237
16.1.2读写文本 238
16.2目录操作 239
16.3文件管理 240
16.3.1获取文件属性 240
16.3.2监视文件系统变化 243
16.4 XML文件操作 244
16.4.1读取XML文件 244
16.4.2写入XML文件 249
第17章Qt多线程 251
17.1在Qt中创建一个线程 251
17.2 Qt的同步控制 253
17.2.1 QMutex类 253
17.2.2 QReadWriteLock类 256
17.2.3 QSemaphore类 259
17.2.4 QWaitCondition类 260
17.3使用线程池 262
第18章Qt数据库编程 264
18.1 Qt数据库开发基础 264
18.2连接数据库 264
18.2.1 MySQL数据库连接 264
18.2.2 SQLite数据库连接 265
18.3数据库基本操作 265
18.3.1添加 265
18.3.2浏览查询 266
18.3.3删除 266
18.3.4修改 267
18.4 SQLite数据库实例 267
18.4.1界面设计 267
18.4.2创建绑定数据库 269
18.4.3主函数与程序主界面 270
18.4.4数据库操作 273
第19章QT网络编程 282
19.1获取主机网络信息 282
19.2基于UDP和TCP的聊天室 285
19.2.1基于UDP的聊天功能 286
19.2.2基于TCP的文件传输 289
19.3基于Socket的Qt与Flex通信 308
19.4 HTTP文件下载 314
19.5 FTP客户端 318
第20章Qt绘图 328
20.1 QPainter绘图 328
20.1.1 QPen类 329
20.1.2 QBrush类 332
20.1.3 QFont类 333
20.2渐变填充绘图 335
20.3绘图与绘图设备 339
20.4坐标系统与坐标变换 340
20.4.1坐标系统 340
20.4.2坐标系变换 341
20.4.3坐标系状态的保存与恢复 344