第1章 Gtk+的开发环境 1
1.1 X Window系统 1
1.2 x体系结构 2
1.2.1 X协议 2
1.2.2 X服务器 3
1.2.3 客户端(xlib) 3
1.3 工具包 3
1.4 窗口管理器 5
1.5 桌面环境 6
1.5.1 CDE 6
1.5.2 GNOME 7
1.5.3 KDE 7
1.6 小结 7
第2章 HeIIo Glk+ 9
2.1 简介 9
2.2 一个简单的示例Hello Gtk+ 10
2.4 范型转移 11
2.3 为控制台程序添加交互功能 11
2.5 了解Gtk+版的Hello World示例 14
2.6 编译客户程序示例 19
2.7 调试客户程序示例 20
2.8 应用程序启动、终止和主循环函数 22
2.8.1 应用程序启动 22
2.8.2 应用程序终止 27
2.8.3 Gtk+主循环函数 28
2.8.4 超时和空闲处理 32
2.8.5 空闲函数 33
2.8.6 监听按键事件 36
2.9 小结 39
第3章 信号、事件、对象和类型 40
3.1 信号 40
3.1.1 示例GtkButton信号 40
3.1.2 处理信号 41
3.2 事件 44
3.2.1 事件回调函数原型 44
3.2.2 事件类型 49
3.2.3 信号和事件API 62
3.3 信号查询 63
3.3.1 发出信号 64
3.3.2 控制信号 69
3.4 对象 73
3.4.1 作为对象的按钮构件 73
3.4.2 对象API 76
3.4.3 对象属性 79
3.4.4 获取并设置对象属性 83
3.4.5 将客户端数据与对象或构件相关联 87
3.5 类型 91
3.6 小结 92
第4章 构件 93
4.1 使用构件的原因 93
4.1.1 简化用户界面开发 93
4.2.1 类名 95
4.2.2 父类名 95
4.2.3 宏 95
4.2 GtkWidget 95
4.1.2 为用户做简化 95
4.2.4 其他宏 96
4.2.5 信号函数原型 99
4.2.6 支持的参数 103
4.2.7 应用程序级API概要 103
4.2.8 类描述 110
4.3 小结 144
5.1 控件和容器 145
第5章 标签和按钮 145
5.2 GtkLabel 146
5.2.1 类名 146
5.2.2 父类名 146
5.2.3 宏 146
5.2.4 支持的参数 146
5.2.5 应用程序级API概要 146
5.2.6 类描述 147
5.3 按钮 152
5.4.4 信号函数原型 154
5.4.3 宏 154
5.4.2 父类名 154
5.4.1 类名 154
5.4 GtkButton 154
5.4.5 支持的参数 155
5.4.6 应用程序级API概要 155
5.4.7 类描述 156
5.5.5 支持的参数 159
5.5.4 信号函数原型 159
5.5.3 宏 159
5.5.2 父类名 159
5.5.1 类名 159
5.5 GtkToggleButton 159
5.5.6 应用程序级API概要 160
5.5.7 类描述 161
5.6 GtkCheckButton 164
5.6.1 类名 164
5.6.2 父类名 164
5.6.3 宏 164
5.6.5 类描述 165
5.6.4 应用程序级API概要 165
5.7 GtkRadiOButton 166
5.7.1 类名 166
5.7.2 父类名 166
5.7.3 宏 166
5.7.4 支持的参数 166
5.7.5 应用程序级API概要 166
5.7.6 类描述 167
5.8 小结 170
第6章 列表 171
6.1 GtkList 172
6.1.1 类名 172
6.1.2 父类名 172
6.1.3 宏 172
6.1.4 信号函数原型 172
6.1.5 应用程序级API概要 172
6.1.6 类描述 174
6.2.4 信号函数原型 182
6.2.3 宏 182
6.2.1 类名 182
6.2 GtkCList 182
6.2.2 父类名 182
6.2.5 支持的参数 184
6.2.6 应用程序级API概要 185
6.2.7 类描述 192
6.3 小结 230
7.1 GtkWindow 231
7.1.1 类名 231
第7章 WINDOWS和DlALOGS 231
7.1.2 父类名 232
7.1.3 宏 232
7.1.4 支持的信号 232
7.1.5 信号函数原型 232
7.1.6 支持的参数 232
7.1.7 应用程序级API概要 232
7.1.8 类描述 234
7.2.4 应用程序级API概要 247
7.2.3 宏指令 247
7.2.5 类描述 247
7.2.1 类名 247
7.2.2 父类名 247
7.2 GtkDialog 247
7.3 GtkFileSelection 251
7.3.1 类名 251
7.3.2 父类名 251
7.3.3 宏指令 251
7.3.4 应用程序级API概要 251
7.3.5 类描述 252
7.4 GtkFontSelection 257
7.4.1 类名 257
7.4.2 父类名 257
7.4.3 宏指令 257
7.4.4 应用程序级API概要 258
7.4.5 类描述 258
7.5.4 应用程序级API概要 266
7.5.2 父类名 266
7.5.3 宏指令 266
7.5 GtkFontSelectionDialog 266
7.5.1 类名 266
7.5.5 类描述 267
7.6 GtkColorSelectionDialog 269
7.6.1 类名 269
7.6.2 父类名 269
7.6.3 宏指令 269
7.6.4 应用程序级API概要 269
7.6.5 类描述 269
7.7 GtkColorSelection 273
7.7.1 类名 273
7.7.2 父类名 273
7.7.3 宏 273
7.7.4 支持的信号 273
7.7.6 支持的参数 274
7.7.7 应用程序级API概要 274
7.7.5 信号函数原型 274
7.7.8 类描述 275
7.8 小结 277
第8章 Separator、Arrow、lmage、Pixmap和Entry构件 278
8.1 分隔线 278
8.2.5 类描述 279
8.2.4 应用程序级API概要 279
8.2.3 宏 279
8.2.2 父类名 279
8.2.1 类名 279
8.2 GtkSeparator 279
8.3 GtkHSeparator 280
8.3.1 类名 280
8.3.2 父类名 280
8.3.3 宏 280
8.3.4 应用程序级API概要 280
8.3.5 类描述 280
8.4.3 宏 283
8.4.2 父类名 283
8.4.4 应用程序级API概要 283
8.4 GtkVSeparator 283
8.4.1 类名 283
8.4.5 类描述 284
8.5.3 宏 286
8.5.5 应用程序级API概要 286
8.5.4 支持的参数 286
8.5.6 类描述 286
8.5.2 父类名 286
8.5.1 类名 286
8.5 GtkArrow 286
8.6 图像和Pixmaps 288
8.7 GtkPixmap 289
8.7.1 类名 289
8.7.2 父类名 289
8.7.3 宏 289
8.7.4 应用程序级API概要 289
8.7.5 类描述 290
8.8.4 应用程序级API概要 294
8.8.3 宏 294
8.8.2 父类名 294
8.8 GtkImage 294
8.8.1 类名 294
8.8.5 类描述 295
8.8.6 从窗口中提取图像数据 300
8.9.3 宏 305
8.9.4 支持的参数 305
8.9.5 应用程序级API概要 305
8.9.2 父类名 305
8.9.1 类名 305
8.9 GtkEntry 305
8.9.6 类描述 306
8.10 小结 310
第9章 菜单 311
9.1 GtkItemFactory 312
9.1.1 类名 312
9.1.2 父类名 312
9.1.3 宏 312
9.1.4 应用程序级API概要 313
9.1.5 类描述 314
9.2.4 支持的参数 332
9.2.3 宏 332
9.2.5 应用程序级API概要 332
9.2 GtkMenuBar 332
9.2.1 类名 332
9.2.2 父类名 332
9.2.6 类描述 333
9.3 GtkMenultem 334
9.3.1 类名 334
9.3.2 父类名 334
9.3.3 宏 334
9.3.4 支持的信号 334
9.3.5 信号函数原型 335
9.3.6 应用程序级API概要 335
9.3.7 类描述 336
9.5.2 父类名 342
9.5.3 宏 342
9.5.4 支持的信号 342
9.5 GtkCheckMenuItem 342
9.4 复选菜单项和单选菜单项 342
9.5.1 类名 342
9.5.5 信号函数原型 343
9.5.6 应用程序级API概要 343
9.5.7 类描述 343
9.6.2 父类名 346
9.6.3 宏 346
9.6.1 类名 346
9.6 GtkRadioMenuItem 346
9.6.4 应用程序级API概要 347
9.6.5 类描述 347
9.7 GtkTearoffMenuItem 350
9.7.1 类名 350
9.7.2 父类名 350
9.7.3 宏 350
9.7.4 应用程序级API概要 350
9.7.5 类描述 350
9.8.3 宏 352
9.8.2 父类名 352
9.8.4 应用程序级API概要 352
9.8 GtkMenu 352
9.8.1 类名 352
9.8.5 类描述 353
9.9 GtkOptionMenu 359
9.9.1 类名 359
9.9.2 父类名 359
9.9.4 应用程序级API概要 360
9.9.5 类描述 360
9.9.3 宏 360
9.10 小结 365
第10章 容器类和基类 366
10.l GtkContainer 367
10.1.1 类名 367
10.1.2 父类名 367
10.1.3 宏 367
10.1.4 支持的信号 367
10.1.5 信号函数原型 367
10.1.7 应用程序级API概要 368
10.1.6 支持的参数 368
10.1.8 类描述 369
10.2 GtkFixed 373
10.2.1 类名 373
10.2.2 父类名 373
10.2.3 宏 373
10.2.4 应用程序级API概要 373
10.2.5 类描述 373
10.3.3 宏 377
10.3.4 支持的参数 377
10.3.1 类名 377
10.3.2 父类名 377
10.3 GtkBox 377
10.3.5 应用程序级API概要 378
10.3.6 类描述 379
10.4 GckVBox 386
10.4.1 类名 386
10.4.2 父类名 386
10.5.2 父类名 387
10.5 GtkHBox 387
10.5.1 类名 387
10.4.4 应用程序级API概要 387
10.4.3 宏 387
10.4.5 类描述 387
10.5.3 宏 388
10.5.4 应用程序级API概要 388
10.5.5 类描述 388
10.6 GtkButtonBox 388
10.6.1 类名 388
10.6.2 父类名 388
10.6.3 宏 389
10.6.4 应用程序级API概要 389
10.6.5 类描述 390
10.7 GtkVButtonBox 394
10.7.1 类名 394
10.7.4 应用程序级API概要 395
10.7.5 类描述 395
10.7.2 父类名 395
10.7.3 宏 395
10.8 GtkHButtonBox 396
10.8.1 类名 396
10.8.2 父类名 396
10.8.3 宏 397
10.8.4 应用程序级API概要 397
10.8.5 类描述 397
10.9.2 父类名 398
10.9.3 宏 398
10.9.1 类名 398
10.9 GtkNOtebook 398
10.9.4 支持的信号 399
10.9.5 信号函数原型 399
10.9.6 支持的参数 399
10.9.7 应用程序级API概要 399
10.9.8 类描述 403
10.10 小结 425
11.1.1 类名 426
11.1.2 父类名 426
第11章 更多的容器构件类 426
11.1 GtkPaned 426
11.1.3 宏 427
11.1.4 应用程序级API概要 427
11.1.5 类描述 427
11.2 GtkVPaned 431
11.2.1 类名 431
11.2.2 父类名 431
11.2.3 宏 432
11.2.4 应用程序级API概要 432
11.2.5 类描述 432
11.3 GtkHPaned 432
11.3.1 类名 432
11.3.2 父类名 432
11.4 GtkPacker 433
11.4.1 类名 433
11.4.2 父类名 433
11.3.4 应用程序级API概要 433
11.3.3 宏 433
11.3.5 类描述 433
11.4.3 宏 434
11.4.4 支持的参数 434
11.4.5 应用程序级API概要 434
11.4.6 类描述 435
11.5.2 父类名 452
11.5.3 宏 452
11.5.1 类名 452
11.5 GtkFrame 452
11.5.4 支持的参数 453
11.5.5 应用程序级API概要 453
11.5.6 类描述 453
11.6 GtkAspectFrame 456
11.6.1 类名 456
11.6.2 父类名 456
11.6.3 宏 456
11.6.4 支持的参数 457
11.6.5 应用程序级API概要 457
11.6.6 类描述 457
11.7.4 支持的参数 462
11.7.3 宏 462
11.7.5 应用程序级API概要 462
11.7.1 类名 462
11.7 GtkTable 462
11.7.2 父类名 462
11.7.6 类描述 463
11.8 GtkToolbar 473
11.8.1 类名 473
11.8.4 支持的信号 474
11.8.6 应用程序级API概要 474
11.8.5 信号函数原型 474
11.8.3 宏 474
11.8.2 父类名 474
11.8.7 类描述 476
11.9 GtkHandleBox 488
11.9.1 类名 488
11.9.2 父类名 488
11.9.3 宏 488
11.9.4 支持的信号 488
11.9.5 应用程序级API概要 488
11.9.6 类描述 489
11.10 GtkEventBox 492
11.10.1 类名 492
11.10.2 父类名 492
11.10.3 宏 492
11.10.4 应用程序级API概要 492
11.10.5 类描述 492
11.11.3 宏 495
11.11.2 父类名 495
11.11.1 类名 495
11.11 GtkScrolledWindow 495
11.11.4 支持的参数 496
11.11.5 应用程序级API概要 496
11.11.6 类描述 497
11.12 GtkLayOUt 505
11.12.1 类名 505
11.12.2 父类名 505
11.12.3 宏 505
11.12.5 类描述 506
11.12.4 应用程序级API概要 506
11.13 小结 516
第12章 树 518
12.1 使用树的原因 518
12.1.1 使用GtkTree和GtkTreeltem 520
12.1.2 示例 521
12.2 GtkTree 529
12.2.1 类名 529
12.2.2 父类名 529
12.2.3 宏 529
12.2.4 各种宏 530
12.2.5 支持的信号 530
12.2.6 信号函数原型 530
12.2.7 应用程序级API概要 530
12.2.8 类描述 532
12.3.2 父类名 538
12.3.3 宏 538
12.3 GtkTreeItem 538
12.3.1 类名 538
12.3.4 支持的信号 539
12.3.5 信号函数原型 539
12.3.6 应用程序级API概要 539
12.3.7 类描述 540
12.3.8 树操作 546
12.4.2 父类名 547
12.4.4 支持的信号 547
12.4.3 宏 547
12.4.1 类名 547
12.4 GtkCTree 547
12.4.5 信号函数原型 548
12.4.6 支持的参数 548
12.4.7 应用程序级API概要 549
12.4.8 类描述 555
12.5 小结 589
第13章 范围构件和调节对象 590
13.1 比例尺构件 590
13.2.4 支持的参数 591
13.2.2 父类名 591
13.2.3 宏 591
13.2 GtkHScale 591
13.2.1 类名 591
13.2.5 应用程序级API概要 592
13.2.6 类描述 592
13.3 GtkVScale 592
13.3.1 类名 592
13.3.2 父类名 592
13.3.3 宏 592
13.4 GtkScale 593
13.4.2 父类名 593
13.4.1 类名 593
13.3.5 应用程序级API概要 593
13.3.6 类描述 593
13.3.4 支持的参数 593
13.4.3 宏 594
13.4.4 支持的参数 594
13.4.5 应用程序级API概要 594
13.4.6 类描述 594
13.5.3 宏 599
13.5.2 父类名 599
13.5.4 应用程序级API概要 599
13.4.7 滚动条 599
13.5.1 类名 599
13.5 GtKHScrollbar 599
13.5.5 类描述 600
13.6 GtkVScrollbar 600
13.6.1 类名 600
13.6.2 父类名 600
13.6.3 宏 600
13.6.4 应用程序级API概要 600
13.6.5 类描述 601
13.7 GtkScrollbar 601
13.7.1 类名 601
13.7.2 父类名 601
13.7.3 宏 601
13.7.4 应用程序级API概要 601
13.7.5 类描述 601
13.8.2 父类名 603
13.8 GtkAdjustment 603
13.8.1 类名 603
13.8.3 宏 604
13.8.4 支持的信号 604
13.8.5 信号函数原型 604
13.8.6 应用程序级API概要 604
13.8.7 类描述 604
13.9 GtkRange 611
13.9.1 类名 611
13.9.2 父类名 611
13.9.3 宏 611
13.9.4 支持的参数 611
13.9.5 应用程序级API概要 611
13.9.6 类描述 612
13.10 小结 613
14.1.4 支持的参数 614
14.1.3 宏 614
14.1.2 父类名 614
14.1 GtkText 614
第14章 文本和SpinButton构件 614
14.1.1 类名 614
14.1.5 应用程序级API概要 615
14.1.6 类描述 616
14.2.3 宏 623
14.2.5 应用程序级API概要 623
14.2.4 支持的参数 623
14.2.2 父类名 623
14.2.1 类名 623
14.2 GtkSpinButton 623
14.2.6 类描述 625
14.3 小结 639
第15章 其他构件 640
15.1 GtkRuler 640
15.1.1 类名 640
15.1.2 父类名 640
15.1.3 宏 640
15.1.5 应用程序级API概要 641
15.1.6 类描述 641
15.1.4 支持的参数 641
15.2.4 应用程序级API概要 646
15.3.2 父类名 646
15.3 GtkPreView 646
15.2.5 类描述 646
15.3.1 类名 646
15.2.3 宏 646
15.2.2 父类名 646
15.2.1 类名 646
15.2 GtkHRuler 646
15.3.3 宏 647
15.3.4 支持的参数 647
15.3.5 应用程序级API概要 647
15.3.6 类描述 648
15.4 GtkProgress 656
15.4.1 类名 656
15.4.2 父类名 656
15.4.5 应用程序级API概要 657
15.4.4 支持的参数 657
15.4.3 宏 657
15.4.6 类描述 658
15.5 GtkProgressBar 663
15.5.1 类名 663
15.5.2 父类名 663
15.5.3 宏 663
15.5.4 支持的参数 663
15.5.5 应用程序级API概要 663
15.5.6 类描述 664
15.6 GtkTooltips 674
15.6.1 类名 674
15.6.2 父类名 674
15.6.3 宏 674
15.6.4 应用程序级API概要 674
15.6.5 类描述 675
15.7 GtkTipsQuery 677
15.7.1 类名 677
15.7.5 应用程序级API概要 678
15.7.4 支持的参数 678
15.7.2 父类名 678
15.7.3 宏 678
15.7.6 类描述 679
15.8 GtkCombo 684
15.8.1 类名 684
15.8.2 父类名 684
15.8.3 宏 684
15.8.4 应用程序级API概要 684
15.8.5 类描述 685
15.9.4 支持的信号 692
15.9.6 应用程序级API概要 692
15.9.5 信号函数原型 692
15.9 GtkStatusbar 692
15.9.3 宏 692
15.9.2 父类名 692
15.9.1 类名 692
15.9.7 类描述 693
15.10.5 应用程序级API概要 697
15.10.4 支持的参数 697
15.10.3 宏 697
15.10.2 父类名 697
15.10 GtkAccelLabel 697
15.10.1 类名 697
15.10.6 类描述 698
15.11 GtkDrawingArea 699
15.11.1 类名 699
15.11.2 父类名 699
15.11.3 宏 699
15.11.4 应用程序级API概要 699
15.11.5 类描述 700
15.12.3 宏 711
15.12.5 信号函数原型 711
15.12.4 支持的信号 711
15.12 GtkCalendar 711
15.12.2 父类名 711
15.12.1 类名 711
15.12.6 应用程序级API概要 712
15.12.7 类描述 713
15.13 小结 719
附录 GTK+1.2构件层次结构 721