第1章 绪论 1
1.1 图形界面设计的必要性 1
1.2 Linux常用的图形化界面编程工具 1
1.2.1 Qt 1
1.2.2 GTK+ 2
1.3 两种常用的Linux数据库 3
1.3.1 MySQL 3
1.3.2 SQLite 3
1.4 图形界面与数据库综合编程技术 4
第2章 Qt4图形界面编程基础 5
2.1 Qt Creator 5
2.2 安装Qt环境及Qt Creator 5
2.3 信号和槽机制 8
2.4 一个抛砖引玉的实例 9
第3章 Qt4控件与示例精讲 12
3.1 布局(Layouts) 12
3.1.1 绝对布局 12
3.1.2 手工布局 12
3.1.3 Qt布局管理器 13
3.2 间隔器(Spacers) 14
3.3 按钮(Buttons) 14
3.3.1 PushButton控件 14
3.3.2 RadioButton控件 15
3.3.3 CheckBox控件 16
3.3.4 示例1:PushButton、RadioButton和CheckBox控件的综合应用 17
3.3.5 ToolButton控件 21
3.3.6 示例2:ToolButton的应用 22
3.3.7 CommandLinkButton控件 24
3.3.8 示例3:CommandLinkButton的应用 25
3.3.9 ButtonBox控件 29
3.3.10 示例4:ButtonBox的应用 30
3.4 单元视图(Item Views) 32
3.4.1 ListView控件 33
3.4.2 示例5:ListView的应用 33
3.4.3 TreeView控件 36
3.4.4 示例6:TreeView的应用 37
3.4.5 TableView控件 40
3.4.6 示例7:TableView的应用 42
3.4.7 ColumnView控件 43
3.5 单元组件(Item Widgets) 44
3.5.1 ListWidget控件 44
3.5.2 TreeWidget控件 46
3.5.3 TableWidget控件 48
3.5.4 示例8:TableWidget的示例 50
3.6 容器(Containers) 52
3.6.1 GroupBox控件 52
3.6.2 ScrollArea控件 53
3.6.3 示例9:GroupBox和ScrollArea的示例 53
3.6.4 ToolBox控件 56
3.6.5 示例10:ToolBox的应用 57
3.6.6 TabWidget控件 60
3.6.7 示例11:TabWidget的应用 61
3.6.8 StackedWidget控件 63
3.6.9 示例12:StackedWidget的应用 64
3.6.10 Frame控件 66
3.6.11 Widget控件 66
3.6.12 MdiArea控件 67
3.6.13 示例13:MdiArea的应用 68
3.6.14 DockWidget控件 71
3.6.15 示例14:DockWidget的示例 71
3.7 输入组件(Input Widgets) 73
3.7.1 ComboBox控件 74
3.7.2 Font ComboBox控件 75
3.7.3 LineEdit控件 75
3.7.4 TextEdit控件 76
3.7.5 PlainTextEdit控件 76
3.7.6 示例15:ComboBox、LineEdit和TextEdit的应用 77
3.7.7 SpinBox控件 79
3.7.8 Double SpinBox控件 80
3.7.9 Slider控件 81
3.7.10 示例16:SpinBox、Double SpinBox和Slider的应用 81
3.7.11 Dial控件 83
3.7.12 示例17:Dial的应用 84
3.7.13 ScrollBar控件 85
3.7.14 DateEdit控件 85
3.7.15 TimeEdit控件 86
3.7.16 DateTimeEdit控件 87
3.7.17 示例18:DateEdit、TimeEdit和DateTimeEdit的应用 87
3.8 显示组件(Display Widgets) 90
3.8.1 Label控件 90
3.8.2 TextBrowser控件 91
3.8.3 示例19:TextBrower的应用 92
3.8.4 GraphicsView控件 93
3.8.5 示例20:GraphicsView的应用 94
3.8.6 Calendar控件 97
3.8.7 示例21:Calendar的应用 98
3.8.8 LCDNumber控件 99
3.8.9 示例22:LCDNumber的应用 100
3.8.10 ProgressBar控件 101
3.8.11 示例23:ProgressBar的应用 102
3.8.12 Line控件 104
第4章 Qt4与MySQL数据库编程 105
4.1 数据库编程概述 105
4.2 MySQL的特性 105
4.3 Qt与MySQL连接 106
4.4 Qt中的数据库查询方法 110
4.4.1 基本的查询方法 110
4.4.2 一个简单实例 117
4.5 MySQL数据库操作语句 119
4.5.1 查询 120
4.5.2 插入 120
4.5.3 建立数据库 120
4.5.4 修改 121
4.5.5 删除 121
第5章 基于Qt4的列车时刻表查询系统 123
5.1 任务分析 123
5.2 数据库的建立 123
5.2.1 数据库表格说明 123
5.2.2 通过SQL语句建立数据库和表 124
5.2.3 通过MySQL Adminstrator创建数据库 124
5.2.4 向表中添加原始数据项 129
5.3 建立Qt4工程及系统界面 130
5.3.1 项目创建及数据库连接 130
5.3.2 代码编辑 133
5.4 编译及运行 138
第6章 基于Qt4与MySQL的酒店客房管理系统设计 140
6.1 任务分析 140
6.2 数据库的建立 141
6.2.1 数据库说明 141
6.2.2 通过SQL语句创建数据库和表 142
6.2.3 MySQL Administrator创建数据库 144
6.2.4 向表中添加原始数据项 148
6.3 建立工程 149
6.4 绘制应用程序界面 152
6.4.1 登录界面设计(login.ui) 152
6.4.2 密码修改界面(chgpwd.ui) 153
6.4.3 系统主界面设计(mainwindow.ui) 153
6.5 添加代码 156
6.5.1 数据库连接(databaseconnection.h) 156
6.5.2 登录窗体类实现 156
6.5.3 密码修改窗体类实现 158
6.5.4 系统主窗体实现 160
6.5.5 main.cpp文件实现 168
6.6 编译及运行 168
第7章 基于Qt4与MySQL的房屋租赁系统设计 171
7.1 任务分析 171
7.2 数据库的建立 173
7.2.1 数据库表格说明 173
7.2.2 通过SQL语句建立数据库和表 174
7.2.3 MySQL Administrator创建数据库 176
7.2.4 向表中添加原始数据项 176
7.3 建立Qt4工程及系统界面 177
7.3.1 新建应用程序 177
7.3.2 绘制应用程序界面 178
7.3.3 添加代码 186
7.4 编译与运行 213
7.4.1 登录界面 213
7.4.2 系统主界面 214
7.4.3 房主信息界面 214
7.4.4 添加房主界面 214
7.4.5 删除房主界面 215
7.4.6 房屋信息界面 215
7.4.7 添加房屋界面 216
7.4.8 删除房屋界面 216
7.4.9 房屋查询界面 216
7.4.10 入住登记界面 217
7.4.11 客户查询界面 217
7.5 本项目中的问题说明与讨论 218
第8章 基于Qt4的书店管理系统设计 219
8.1 任务分析 219
8.2 数据库的建立 219
8.2.1 数据库表格说明 219
8.2.2 通过SQL语句建立数据库和表 222
8.2.3 通过MySQL Administrator创建数据库 223
8.2.4 向表中添加原始数据项 226
8.3 建立Qt4工程及系统界面 227
8.3.1 项目创建及数据库连接 227
8.3.2 代码编辑 233
8.4 编译及运行 245
8.5 开发中的注意事项 247
第9章 基于Qt4与MySQL的考试系统设计与实现 248
9.1 任务分析 248
9.2 数据库的建立 249
9.2.1 数据库表格说明 249
9.2.2 通过SQL语句建立数据库和表 250
9.2.3 MySQL Administrator创建数据库 252
9.2.4 向表中添加原始数据项 252
9.3 建立Qt4工程及系统界面 252
9.3.1 新建应用程序 253
9.3.2 绘制应用程序界面 253
9.3.3 添加代码 258
9.4 编译与运行 277
9.4.1 登录界面 277
9.4.2 管理员主界面 277
9.4.3 添加教师界面 278
9.4.4 添加学生界面 278
9.4.5 教师主界面 278
9.4.6 学生主界面 279
9.5 本项目中的问题说明与讨论 280
第10章 基于Qt4与MySQL的校园点菜系统 281
10.1 任务分析 281
10.2 数据库的建立 281
10.2.1 数据库表格说明 281
10.2.2 通过SQL语句建立数据库和表 282
10.2.3 通过MySQL Administrator创建数据库 283
10.2.4 向表中添加原始数据项 286
10.3 建立Qt4工程及系统界面 287
10.3.1 项目创建及数据库连接 287
10.3.2 代码编辑 296
10.4 编译及运行 312
10.5 开发中的注意事项 315
第11章 基于Qt4与MySQL的餐饮信息服务系统设计 316
11.1 任务分析 316
11.2 数据库的建立 317
11.2.1 数据库表格说明 317
11.2.2 通过SQL语句建立数据库和表 317
11.2.3 MySQL Administrator创建数据库 318
11.2.4 向表中添加原始数据项 318
11.3 建立Qt4工程及系统界面 319
11.3.1 新建应用程序 319
11.3.2 绘制应用程序界面 320
11.3.3 添加代码 324
11.4 编译与运行 348
11.4.1 系统主界面 348
11.4.2 菜目管理界面 348
11.4.3 订餐界面 349
11.4.4 客户信息查询界面 349
11.4.5 结账界面 349
11.4.6 添加菜目界面 349
11.4.7 更新/删除菜目界面 350
11.4.8 订单详细界面 350
11.4.9 打印订单与账单 350
11.5 本项目中的问题说明与讨论 350
第12章 基于Qt4的视频音频播放器设计 351
12.1 任务分析 351
12.2 建立Qt4工程及系统界面 351
12.2.1 项目创建 351
12.2.2 代码编辑 356
12.3 编译及运行 366
12.4 开发中的注意事项 367
第13章 基于Qt4的桌面常用软件小助手 368
13.1 任务分析 368
13.2 建立Qt4工程及系统界面 370
13.2.1 新建应用程序 370
13.2.2 绘制应用程序界面 371
13.3 添加代码 373
13.3.1 建立信号与槽函数映射机制 373
13.3.2 添加代码 376
13.4 编译与运行 414
13.5 本项目中的问题说明与讨论 416
第14章 基于Qt4与MySQL的俄罗斯方块设计与实现 417
14.1 任务分析 417
14.2 数据库的建立 418
14.2.1 数据库表格说明 418
14.2.2 通过SQL语句建立数据库和表 419
14.2.3 MySQL Administrator创建数据库 419
14.2.4 向表中添加原始数据项 419
14.3 建立Qt4工程及系统界面 420
14.3.1 新建应用程序 421
14.3.2 绘制应用程序界面 421
14.3.3 添加代码 423
14.4 编译与运行 444
14.4.1 游戏主界面 444
14.4.2 游戏开始界面 445
14.4.3 排行榜界面 445
14.4.4 游戏结束界面 446
14.4.5 进入排行榜界面 446
14.5 本项目中的问题说明与讨论 447
第15章 基于Qt4与MySQL的局域网聊天系统设计与实现 448
15.1 任务分析 448
15.2 数据库的建立 449
15.2.1 数据库表格说明 449
15.2.2 通过SQL语句建立数据库和表 450
15.2.3 MySQL Administrator创建数据库 450
15.2.4 向表中添加原始数据项 450
15.3 建立Qt4工程及系统界面 450
15.3.1 新建应用程序 451
15.3.2 绘制应用程序界面 451
15.3.3 添加代码 455
15.4 编译与运行 486
15.4.1 登录界面 486
15.4.2 账号注册界面 486
15.4.3 系统主界面 486
15.4.4 聊天界面 487
15.4.5 发送文件界面 487
15.4.6 接收文件界面 487
15.5 本项目中的问题说明与讨论 488
参考文献 489