《Linux系统下C程序开发详解》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:徐磊等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121063992
  • 页数:500 页
图书介绍:本书由浅入深、通俗易懂地讲解了Linux系统下的C程序设计。全书共24章,从Linux系统安装开始,讲解了Linux常用命令、Shell编程、C语言基础、指针与函数、C程序网络编程、图形界面程序设计等内容。书中通过大量的实例来讲解知识要点,读者可以通过这些实例和练习对C程序有一个系统的学习和提高。本书共有7个方面的内容。Linux基础讲述了Linux系统的安装与编辑器的使用。Shell编程介绍了Linux常用命令和Shell程序的设计。C程序基础从C语言的变量和语句开始,讲解了C程序设计的基础语法知识。指针与函数是C程序设计中的重点和难点,使用了大量的实例进行讲解。文件与目录讲述了C语言对文件和目录的访问。网络编程讲述C程序网络通信的实现。图形界面设计讲述了如何使用GTK库开发出Linux系统的图形界面程序。本书语言通俗易懂,内容丰富,注重理解与实例,知识涵盖面广。非常适合C语言的初学者、高校学生、程序开发人员以及Linux工作人员阅读和学习。

第一部分 Linux基础篇 2

第1章 Linux编程平台 2

1.1 Linux发行版的介绍 2

1.1.1 Red Hat Linux 2

1.1.2 Debian Linux 2

1.2 Linux的安装 2

1.2.1 Linux的分区格式 3

1.2.2 在Windows系统中划分Linux分区 3

1.2.3 Red Hat 9.0的安装 6

1.2.4 GRUB在Windows分区中引导Linux 15

1.3 VMware虚拟机安装Linux系统 17

1.3.1 VMware软件安装 17

1.3.2 新建虚拟计算机 20

1.3.3 VMware的使用 24

1.3.4 在VMware虚拟机中安装Linux系统 26

1.4 第一个C程序 28

1.4.1 在Linux中编写C程序代码 28

1.4.2 编译程序 29

1.5 小结 30

第2章 文本编辑器的使用 31

2.1 VIM的使用 31

2.1.1 VIM的启动 31

2.1.2 在桌面上创建VIM启动器 31

2.1.3 VIM的工作模式 32

2.1.4 保存与打开文件 33

2.1.5 移动光标 34

2.1.6 插入 36

2.1.7 删除 36

2.1.8 取消 37

2.1.9 保存 37

2.1.10 退出 37

2.1.11 查找 38

2.1.12 替换 38

2.1.13 选项设置 38

2.1.14 调用shell命令 39

2.2 VIM使用实例 39

2.2.1 字符的插入与删除 39

2.2.2 字符的查找与替换 40

2.3 GVIM 41

2.3.1 文件的新建与保存 41

2.3.2 查找与替换 42

2.4 gedit 43

2.4.1 gedit的启动与打开文本 44

2.4.2 gedit编辑文件 44

2.4.3 gedit打印文件 46

2.4.4 gedit的首选项 47

2.5 小结 50

第二部分 Shell编程篇 52

第3章 Linux常用命令 52

3.1 目录与文件命令 52

3.1.1 查看目录命令pwd 52

3.1.2 打开目录命令cd 52

3.1.3 查看目录命令ls 53

3.1.4 建立文件命令touch 54

3.1.5 建立与删除文件夹命令mkdir,rmdir 54

3.1.6 文件复制命令cp 55

3.1.7 文件移动和更名命令mv 56

3.1.8 删除文件与目录命令rm 56

3.1.9 创建链接命令ln 57

3.1.10 查看文件信息命令wc 58

3.1.11 文件查看命令cat 58

3.1.12 查看文件视图命令head与tail 59

3.1.13 文件权限设置命令chmod 59

3.1.14 查找文件命令find 61

3.2 man系统帮助命令 61

3.2.1 man手册的使用方法 61

3.2.2 帮助文档的结构 62

3.3 info手册 62

3.4 小结 63

第4章 Shell编程 64

4.1 bash的使用 64

4.1.1 bash的内部命令与外部命令 64

4.1.2 命令补齐功能 64

4.1.3 命令通配符 64

4.1.4 使用命令的历史记录 65

4.1.5 命令的别名 66

4.2 shell程序的基本结构 66

4.3 局部变量 67

4.4 环境变量 68

4.4.1 环境变量的查看 68

4.4.2 环境变量的访问 68

4.4.3 环境变量的定义 69

4.4.4 在系统配置文件中定义环境变量 69

4.4.5 位置变量 69

4.5 shell的运算符 70

4.5.1 变量赋值 70

4.5.2 算术运算符 71

4.6 输入和输出 72

4.6.1 echo命令输出结果 72

4.6.2 read命令读取信息 74

4.6.3 文件重定向 75

4.7 引号的使用方法 76

4.7.1 双引号 76

4.7.2 单引号 77

4.7.3 反引号 77

4.7.4 反斜线 77

4.8 测试语句 78

4.8.1 文件状态测试 78

4.8.2 数值测试 79

4.8.3 字符串测试 79

4.8.4 逻辑测试 80

4.9 流程控制结构 80

4.9.1 if语句 81

4.9.2 if语句应用实例 82

4.9.3 for语句 84

4.9.4 for循环应用实例 85

4.9.5 until语句 86

4.10 Shell编程实例 87

4.10.1 程序的功能 87

4.10.2 编写程序的代码 88

4.11 小结 89

第三部分 C程序基础篇 92

第5章 编译与调试 92

5.1 编译的概念和理解 92

5.1.1 程序编译的过程 92

5.1.2 编译器 92

5.2 gcc编译器 93

5.2.1 gcc编译器简介 93

5.2.2 gcc对源程序扩展名的支持 93

5.3 C程序的编译 94

5.3.1 编写第一个C程序 94

5.3.2 用gcc编译程序 95

5.3.3 查看gcc的参数 96

5.3.4 设置输出的文件 97

5.3.5 查看编译过程 97

5.3.6 设置编译的语言 98

5.3.7 -asci设置ANSIC标准 98

5.3.8 g++编译C++程序 98

5.4 编译过程的控制 99

5.4.1 编译过程简介 100

5.4.2 控制预处理过程 100

5.4.3 生成汇编代码 101

5.4.4 生成目标代码 102

5.4.5 链接生成可执行文件 102

5.5 gdb调试程序 103

5.5.1 gdb简介 103

5.5.2 在程序中加入调试信息 103

5.5.3 启动gdb 103

5.5.4 在gdb中加载需要调试的程序 104

5.5.5 在gdb中查看代码 104

5.5.6 在程序中加入断点 105

5.5.7 查看断点 105

5.5.8 运行程序 105

5.5.9 变量的查看 106

5.6 程序调试实例 107

5.6.1 编写一个程序 107

5.6.2 编译文件 108

5.6.3 程序的调试 108

5.6.4 gdb帮助的使用 111

5.7 gdb常用命令 111

5.8 编译程序常见的错误与问题 112

5.8.1 逻辑错误与语法错误 113

5.8.2 C程序中的错误与异常 113

5.8.3 编译中的警告提示 113

5.8.4 找不到包含文件的错误 114

5.8.5 错误地使用逗号 114

5.8.6 括号不匹配错误 114

5.8.7 小括号不匹配错误 115

5.8.8 变量类型或结构体声明错误 115

5.8.9 使用不存在的函数的错误 115

5.8.10 大小写错误 116

5.8.11 数据类型的错误 116

5.8.12 赋值类型错误 116

5.8.13 循环或判断语句中多加分号 116

5.9 小结 117

第6章 C语言基础 118

6.1 C程序的基本概念 118

6.1.1 C程序的基本结构 118

6.1.2 C程序的一般格式 119

6.1.3 C程序中的注释 120

6.2 数据类型 120

6.2.1 整型(int) 121

6.2.2 浮点型(float) 122

6.2.3 字符型(char) 123

6.2.4 变量名 124

6.2.5 字符NULL 124

6.3 变量的赋值与输出 124

6.3.1 变量的赋值 125

6.3.2 printf函数输出变量 125

6.3.3 scanf函数从键盘读入变量 127

6.4 运算符 128

6.4.1 算术运算符 128

6.4.2 关系运算符 130

6.4.3 逻辑运算符 130

6.5 小结 131

第7章 C程序的常用语句 132

7.1 流程控制语句 132

7.1.1 if条件语句 132

7.1.2 if语句的嵌套 134

7.1.3 switch选择执行语句 136

7.1.4 for循环语句 138

7.1.5 for循环的嵌套 140

7.1.6 for循环应用实例:输出九九乘法口诀表 141

7.1.7 while循环语句 142

7.1.8 do while循环语句 144

7.1.9 转移控制语句:continue 145

7.1.10 转移控制语句:break 146

7.1.11 转移控制语句:return 146

7.2 流程控制语句实例 147

7.2.1 三个数字的排序 147

7.2.2 解一元二次方程 149

7.3 两种特殊语句结构 151

7.3.1 ?三元操作符 151

7.3.2 块语句 152

7.4 小结 152

第四部分 指针与函数篇 154

第8章 数组与指针 154

8.1 数组的理解与操作 154

8.1.1 什么是数组 154

8.1.2 数组的定义与访问 155

8.1.3 数组使用实例 156

8.2 指针 157

8.2.1 指针的理解 157

8.2.2 指针操作符 157

8.2.3 指针的定义与访问 158

8.2.4 指针使用实例 159

8.3 数组与指针 160

8.3.1 数组与指针的关系 160

8.3.2 指针的算术运算 160

8.3.3 字符数组与字符串 161

8.4 二维数组与多维数组 162

8.4.1 二维数组的理解 163

8.4.2 二维数组与指针 164

8.5 实例 165

8.5.1 学生成绩统计实例 165

8.5.2 冒泡法排序实例 166

8.5.3 统计字符串中字符 168

8.5.4 小写字母转换成大写字母 170

8.5.5 指针访问数组 171

8.6 常见问题 172

8.6.1 错误的写操作 172

8.6.2 指针的错误赋值 173

8.6.3 数组指针的越界错误 174

8.7 小结 175

第9章 函数 176

9.1 函数的理解 176

9.1.1 什么是函数 176

9.1.2 系统函数(库函数)与用户自定义的函数 177

9.1.3 函数的返回值 178

9.1.4 无参函数 179

9.1.5 有参函数 180

9.1.6 函数参数实例 180

9.2 自定义函数 181

9.2.1 自定义函数的编写 181

9.2.2 函数中调用函数 183

9.2.3 函数的声明 184

9.2.4 递归函数 186

9.2.5 main函数的参数argc与argv 187

9.3 函数与指针 188

9.3.1 值调用与引用调用 188

9.3.2 引用调用与指针 189

9.3.3 指针参数简单实例 190

9.3.4 自定义函数中指针使用实例 191

9.3.5 数组作为参数 192

9.3.6 数组作为函数参数实例 194

9.4 返回值 195

9.4.1 函数返回值的类型 195

9.4.2 函数返回指针 196

9.4.3 函数返回指针实例 197

9.4.4 函数返回结果到参数 198

9.5 库函数 198

9.5.1 库函数的种类 198

9.5.2 库函数包含文件 199

9.5.3 头文件使用实例 200

9.6 小结 201

第10章 字符与字符串处理 202

10.1 字符测试函数介绍 202

10.1.1 数字或字母测试函数isalnum 202

10.1.2 字母测试函数isalpha 203

10.1.3 可打印字符测试函数isgraph 204

10.1.4 大小写字母测试函数islower和isupper 205

10.1.5 数字测试函数isxdigit 206

10.1.6 符号测试函数ispunct 207

10.1.7 其他字符测试函数 208

10.2 字符测试函数综合实例 208

10.2.1 统计字符串中各类字符的个数 208

10.2.2 判断电话号码与姓名是否正确 210

10.3 字符串转换 212

10.3.1 C程序中的字符串 212

10.3.2 字符串转换成浮点型函数atof 213

10.3.3 字符串转换成整型函数atoi 214

10.3.4 字符串转换成长整型函数atol 215

10.3.5 将浮点型数转换成字符串函数ecvt 216

10.3.6 字母的大小写转换函数tolower和toupper 217

10.3.7 其他字符串转换函数 218

10.4 字符串比较 218

10.4.1 字符串比较函数bcmp 219

10.4.2 字符串大小比较函数memcmp 220

10.4.3 忽略大小写比较字符串函数strncasecmp 221

10.5 字符串复制 222

10.5.1 字符串复制函数bcopy 222

10.5.2 字符串复制函数memccpy 223

10.5.3 字符串复制函数strcpy 223

10.5.4 字符串复制函数strncpy 224

10.6 字符串的清理与填充 225

10.6.1 字符串清理函数bzero 225

10.6.2 字符串填充函数memset 226

10.7 字符串查找 227

10.7.1 字符查找函数index与rindex 227

10.7.2 字符查找函数memchr 228

10.7.3 字符查找函数strchr与strrchr 228

10.8 字符串的连接与分割 229

10.8.1 字符串连接函数strcat 229

10.8.2 字符串分割函数strtok 230

10.9 其他字符串函数 231

10.9.1 字符串长度函数strlen 231

10.9.2 允许出现字符查找函数strspn 232

10.9.3 不允许出现字符查找函数strcspn 233

10.10 小结 234

第11章 结构体 235

11.1 结构体的操作 235

11.1.1 结构体的理解 235

11.1.2 结构体的定义 235

11.1.3 结构体的访问 237

11.1.4 结构体数组 238

11.1.5 结构体使用实例 239

11.2 结构体与指针 241

11.2.1 结构体指针的定义 241

11.2.2 结构体指针的访问 242

11.2.3 结构体作为函数的参数 244

11.2.4 结构体指针作为函数的参数 245

11.2.5 结构体作为函数的返回值 247

11.2.6 结构体指针作为函数的返回值 248

11.3 结构体实例 250

11.3.1 程序的需求分析 250

11.3.2 程序中的函数 251

11.3.3 程序中的结构体与全局变量 251

11.3.4 头文件和函数声明 252

11.3.5 定义结构体和全局变量 252

11.3.6 显示学生信息的函数 252

11.3.7 程序的选择菜单 253

11.3.8 学生信息输入函数 254

11.3.9 按姓名查找函数 255

11.3.10 删除学生函数 255

11.3.11 按年龄查找函数 256

11.3.12 按身高查找函数 257

11.3.13 按性别查找函数 257

11.3.14 程序的主函数 258

11.3.15 程序的运行和调试 259

11.4 小结 261

第12章 时间函数 262

12.1 常用时间函数 262

12.1.1 返回时间函数time 262

12.1.2 取当前时间函数gmtime 263

12.1.3 字符串格式时间函数ctime 265

12.1.4 字符串格式时间函数asctime 266

12.1.5 取得当地时间函数localtime 267

12.1.6 将时间转换成秒数函数mktime 268

12.1.7 取得当前的时间函数gettimeofday 269

12.1.8 设置当前时间函数settimeofday 270

12.2 时间函数使用实例 271

12.2.1 运行程序所需要的时间 272

12.2.2 两次输入之间的时间间隔 272

12.2.3 设置系统时间 273

12.3 小结 275

第五部分 文件与目录篇 278

第13章 目录与文件 278

13.1 文件操作的权限 278

13.2 错误处理与错误号 279

13.2.1 错误定义的理解 279

13.2.2 用错误常数显示错误信息 280

13.2.3 用错误序号显示错误信息 281

13.3 创建与删除目录 282

13.3.1 创建目录函数mkdir 282

13.3.2 删除目录函数rmdir 284

13.4 文件的创建与删除 285

13.4.1 创建文件函数creat 285

13.4.2 删除文件函数remove 286

13.4.3 建立临时文件函数mkstemp 288

13.5 文件的打开与关闭 289

13.5.1 打开文件函数open 289

13.5.2 文件打开方式的设置 290

13.5.3 打开文件的权限 290

13.5.4 文件打开实例 291

13.5.5 关闭文件函数close 292

13.6 文件读写 294

13.6.1 在文件中写字符串函数write 294

13.6.2 读取文件函数read 296

13.6.3 文件读写位置的移动 297

13.6.4 将缓冲区数据写入到磁盘函数sync 299

13.6.5 将缓冲区数据写入到磁盘函数fsync 300

13.7 文件锁定 302

13.7.1 文件锁定的理解 302

13.7.2 文件锁定函数flock 302

13.7.3 文件锁定函数fcntl 304

13.7.4 文件锁定函数fcntl使用实例 306

13.8 文件的移动与复制 307

13.8.1 文件的移动函数rename 307

13.8.2 rename函数使用实例 308

13.8.3 文件复制实例 309

13.9 文件实例:电话本程序 311

13.9.1 程序功能分析 311

13.9.2 程序的函数 311

13.9.3 包含文件 312

13.9.4 数据的定义 312

13.9.5 菜单函数 312

13.9.6 显示电话信息函数 314

13.9.7 添加电话号码函数 314

13.9.8 按姓名查找函数 314

13.9.9 删除电话号码函数 315

13.9.10 保存到文件函数 316

13.9.11 从文件导入信息函数 317

13.9.12 主函数 317

13.9.13 程序的运行 319

13.10 小结 320

第14章 文件I/O 321

14.1 文件的打开与关闭 321

14.1.1 文件打开函数fopen 321

14.1.2 文件打开函数fdopen 323

14.1.3 打开文件函数freopen 324

14.1.4 关闭文件函数fclose 325

14.2 文件的读写 326

14.2.1 字符写入函数putc与fputc 326

14.2.2 向文件中写入字符串函数fputs 328

14.2.3 数据写入函数fwrite 329

14.3 小结 330

第六部分 网络编程篇 332

第15章 网络编程 332

15.1 网络编程的基本概念 332

15.1.1 IP地址 332

15.1.2 端口 332

15.1.3 域名 333

15.1.4 TCP与UDP 333

15.2 套接字 333

15.2.1 什么是套接字 334

15.2.2 套接字相关的数据类型 334

15.2.3 套接字类型 335

15.3 域名与IP地址 335

15.3.1 用域名取得主机的IP地址 335

15.3.2 用IP地址返回域名 337

15.4 网络协议 338

15.4.1 由协议名取得协议数据 339

15.4.2 由协议编号取得协议信息 340

15.4.3 取得系统支持的所有协议 341

15.5 网络服务 343

15.5.1 取得系统支持的网络服务 343

15.5.2 用名称取得系统所支持的服务 344

15.5.3 由端口取得服务名称 346

15.6 网络IP地址的转换 347

15.6.1 将网络地址转换成长整型 348

15.6.2 将长整型IP地址转换成网络地址 348

15.6.3 主机字符顺序与网络字符顺序的转换 349

15.7 错误处理 351

15.7.1 herror函数显示错误 351

15.7.2 捕获错误编号 351

15.8 小结 352

第16章 无连接的套接字通信 353

16.1 socket套接字 353

16.1.1 建立socket 353

16.1.2 取得socket状态 355

16.1.3 设置socket状态 357

16.2 无连接的套接字通信 358

16.2.1 工作流程 358

16.2.1 信息发送函数sendto 359

16.2.2 信息接收函数recvfrom 360

16.3 无连接的套接字通信实例 361

16.3.1 无连接套接字通信客户端 361

16.3.2 无连接套接字通信服务器 362

16.3.3 测试UDP通信程序 364

16.4 小结 365

第17章 面向连接的套接字通信 366

17.1 面向连接的套接字通信工作流程 366

17.2 绑定端口 367

17.2.1 绑定端口函数bind 367

17.2.2 bind函数绑定端口实例 368

17.3 监听与连接 369

17.3.1 等待监听函数listen 369

17.3.2 listen函数使用实例 370

17.3.3 接受连接函数accept 371

17.3.4 accept函数使用实例 372

17.3.5 请求连接函数connet 374

17.3.6 connet函数使用实例 375

17.4 数据的发送与接收 376

17.4.1 数据接收函数recv 376

17.4.2 recv函数使用实例 377

17.4.3 信息发送函数send 379

17.4.4 数据传输函数write与read 379

17.4.5 read函数接收数据实例 380

17.5 面向连接套接字通信实例 382

17.5.1 服务器程序 382

17.5.2 客户端程序 385

17.5.3 实例程序测试 386

17.6 小结 387

第七部分 图形界面开发篇 390

第18章 Linux图形界面开发基础 390

18.1 X Window系统简介 390

18.1.1 X Window的历史 390

18.1.2 X Window体系结构 390

18.2 Linux桌面环境 391

18.2.1 KDE 391

18.2.2 GNOME 392

18.3 Linux下的图形程序开发环境 393

18.3.1 GTK+简介 393

18.3.2 yum安装GTK 393

18.3.3 用软件包管理器安装GTK 394

18.4 编写一个简单的图形界面程序 395

18.4.1 编写程序代码 395

18.4.2 编译程序 396

18.4.3 程序的运行 397

18.5 常见问题 397

18.5.1 找不到gtk.h包含文件的错误 397

18.5.2 pkg-config参数的作用 397

18.6 小结 398

第19章 图形界面编程 399

19.1 窗口 399

19.1.1 最简单的窗口程序 399

19.1.2 窗口的构建过程 399

19.1.3 新建窗口函数gtk_window_new 400

19.1.4 设置窗口的标题 401

19.1.5 设置窗口的大小与位置 402

19.2 标签 403

19.2.1 建立一个标签 403

19.2.2 将标签添加到窗口中 403

19.2.3 设置与获取标签的文本 404

19.2.4 实例:用标签显示当前时间 406

19.3 按钮 407

19.3.1 添加一个按钮 407

19.3.2 取得与设置按钮的标签 408

19.4 文本框 410

19.4.1 建立文本框 410

19.4.2 获取与设置文本框数据 411

19.5 小结 412

第20章 界面布局 413

20.1 表格 413

20.1.1 表格的建立 413

20.1.2 表格中添加元件 414

20.1.3 表格使用实例 415

20.1.4 单元格的合并 416

20.1.5 表格中添加表格 418

20.2 垂直框 419

20.2.1 添加垂直框 419

20.2.2 垂直框中添加元件 420

20.3 水平窗格 422

20.3.1 新建一个窗格 422

20.3.2 窗格中添加元件 423

20.4 小结 425

第21章 信号与事件 426

21.1 信号 426

21.1.1 添加信号 426

21.1.2 事件函数的参数 427

21.1.3 在函数中使用全局变量 429

21.2 GTK事件 430

21.3 实例:加法计算器 430

21.3.1 程序功能的分析 430

21.3.2 程序的实现 431

21.4 实例:计算器 433

21.4.1 程序的功能分析 433

21.4.2 程序的功能模块 434

21.4.3 包含头文件与定义全局变量 434

21.4.4 单击按钮输入函数 435

21.4.5 加法运算函数 435

21.4.6 减法运算函数 436

21.4.7 乘法运算函数 437

21.4.8 除法运算函数 437

21.4.9 输入小数点函数 438

21.4.10 清除数据函数 438

21.4.11 界面构建函数 438

21.4.12 添加事件函数 441

21.4.13 主函数 442

21.4.14 程序的编译和运行 442

21.5 小结 443

第22章 Glade设计程序界面 444

22.1 Glade简介 444

22.2 使用Glade设计程序界面 444

22.2.1 启动Glade 444

22.2.2 打开Glade的工作面板 444

22.3 Glade设计窗口 445

22.3.1 新建一个项目 446

22.3.2 新建一个窗口 446

22.3.3 设置窗口的标题和名称 446

22.3.4 设置窗口的大小 447

22.3.5 设置程序的图标 448

22.4 添加表格 448

22.4.1 窗体中添加表格 448

22.4.2 插入行和列 449

22.5 添加标签 449

22.5.1 表格中添加标签 449

22.5.2 设置标签的名称和内容 450

22.5.3 设置标签的填充边界 450

22.5.4 设置标签的倾斜角度 451

22.6 添加文本框 452

22.6.1 表格中添加文本框 452

22.6.2 设置文本框 452

22.6.3 将文本框设置成密码文本框 453

22.7 添加按钮 454

22.7.1 添加按钮 454

22.7.2 按钮的属性设置 454

22.8 添加信号与事件 455

22.8.1 在Glade中添加信号 455

22.8.2 信号函数的编写 456

22.9 程序的编译 457

22.10 小结 457

第23章 Qt编程入门 458

23.1 Qt简介 458

23.2 Qt的安装 460

23.2.1 升级的方式安装Qt 460

23.2.2 下载软件包的方式安装Qt 461

23.3 第一个Qt程序 463

23.3.1 编写Qt源文件 463

23.3.2 建立工程文件 464

23.3.3 编译和运行程序 464

23.3.4 Qt程序的结构 466

23.4 窗体 467

23.4.1 运行一个窗体程序的参数 467

23.4.2 窗体参数使用实例 468

23.5 小结 469

第24章 使用Qt Designer开发Qt程序 470

24.1 Qt Designer建立程序 470

24.1.1 用Qt Designer建立一个工程 470

24.1.2 建立一个窗口 472

24.1.3 建立主函数 475

24.1.4 编译和运行程序 476

24.2 按钮 477

24.2.1 窗口中添加按钮 477

24.2.2 设置按钮 478

24.3 文本框 481

24.3.1 窗口中添加文本框 481

24.3.2 设置文本框 482

24.4 信号 484

24.4.1 建立工程和窗口 484

24.4.2 设置信号 486

24.4.3 建立程序的主函数 487

24.4.4 编译和运行程序 488

24.5 信号与自定义信号函数 489

24.5.1 建立工程和窗口 489

24.5.2 建立事件函数 490

24.5.3 编译和运行程序 492

24.6 信号实例:显示计算机时间 493

24.6.1 建立窗口 493

24.6.2 设置按钮的信号 494

24.6.3 编译和运行程序 495

24.7 菜单和工具栏 496

24.7.1 “Main Window”建立窗口 496

24.7.2 编译和运行程序 499

24.8 小结 500