《GNOME/GTK+编程宝典》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)Arthur Griffith著;吴向峰等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2000
  • ISBN:750536300X
  • 页数:791 页
图书介绍:本书以大量实例,伴以通俗易懂的解释一步步教读者如何构建对话框、事件、工具条及其他界面元素,以及各种小部件、窗口和多文档界面。

前言 1

第1部分 编程入门 5

第1章 什么是GNOME 7

1.1 GNOME各种软件之间的关系 7

1.1.1 软件层次 8

1.1.2 命名约定 9

1.2 编写代码的各种方式 9

1.3 C对象运行 10

1.3.1 封装 10

1.3.2 继承 10

1.3.3 方法 11

1.5 信号和回调 12

1.4 小部件的作用 12

1.6 GIMP的glib库 13

1.6.1 基本数据类型 13

1.6.2 glib的工具函数 15

1.7 细读源代码 17

1.8 小结 18

第2章 窗口显示 19

2.1 开始 19

2.2 Hello World程序 19

2.3 GTK+的窗口 23

2.4 关闭窗口 25

2.5 回调和事件 27

2.6 带按钮的窗口 27

2.7 GNOME窗口 29

2.8 开始编写GNOME应用程序 32

2.9 小结 35

第3章 显示弹出式对话框 37

3.1 弹出式窗口、对话框和窗口小部件 37

3.2 对话框的工作方式 38

3.3 GNOME定义的对话框 38

3.3.1 做一个简单的声明 38

3.3.2 询问一个简单的问题 41

3.3.3 确定对话框类型 44

3.3.4 键盘输入 46

3.3.5 传给回调的数据 50

3.3.6 进度条 53

3.4 创建弹出式窗口和对话框 55

3.5 弹回之后销毁 56

3.6 通过隐藏来弹回窗口 60

3.7 数据输出和输入 62

3.8 小结 66

第4章 在窗口中规划小部件 67

4.1 框的放置 67

4.1.1 垂直放置框 67

4.1.2 水平放置框 70

4.1.3 水平框选项 71

4.1.4 垂直框选项 75

4.1.5 在框中分隔小部件 78

4.1.6 框中的框 82

4.2.1 放置一个小表格 85

4.2 表放置 85

4.2.2 表格上的三个按钮 89

4.2.3 选项设置 92

4.2.4 重叠小部件 96

4.3 把框和表结合起来 98

4.4 小结 102

第5章 小部件包含小部件 103

5.1 固定容器 103

5.2 对齐容器 106

5.3 框架容器 109

5.4 外观框架容器 114

5.5 窗格容器 117

5.6 布局容器 120

5.7 滚动窗口容器 125

5.8 记事本容器 128

5.9 按钮框 132

5.10 小结 139

第6章 事件、信号和回调 141

6.1 读事件队列 141

6.2 事件处理的顺序 142

6.3 发送你自己的信号 142

6.4 信号的名称和ID 145

6.5 回调函数的形式 145

6.6 空闲时的后台处理 155

6.7 定时器 157

6.8 从文件或套接字读取输入 160

6.9 小结 163

7.1 两种图形 165

第7章 位图、像素图和光标 165

7.2 XPM格式 166

7.3 从数据显示XPM 168

7.4 从文件显示XPM 170

7.5 用XPM来装饰按钮 171

7.6 XBM格式 173

7.7 位图工具 173

7.8 显示XBM光标 174

7.9 创建光标 180

7.10 从XPM创建光标 183

7.11 小结 188

8.1 菜单创建的机制 189

第8章 菜单和工具条 189

8.2 菜单类型和宏 195

8.3 标准GNOME菜单布局 198

8.4 帮助文件 204

8.5 弹出式菜单 205

8.6 创建一个工具条 208

8.7 库存图标 210

8.8 非标准图标 216

8.9 禁用和启用菜单项 219

8.10 禁用和启用工具条项 221

8.11 隐藏和显示菜单项 224

8.12 隐藏和显示工具条项 226

8.13 菜单中的单选按钮 228

8.14 工具条中的单选按钮 231

8.15 菜单中的开关按钮 234

8.16 工具条中的开关按钮 237

8.17 小结 240

第2部分 循序渐进 241

第9章 GnomeCanvas小部件 243

9.1 GnomeCanvas小部件 243

9.2 鼠标、事件以及栈顺序 247

9.3 传递给画布项目的事件 250

9.4 移动画布项目 258

9.5 画布图像 261

9.6 画布文本 266

9.7 画布上项目的组合 269

9.8 在画布上添加小部件 273

9.9 在画布上画多边形 276

9.10 画布仿射变换 278

9.11 GdkEvent 281

9.11.1 公用字段 283

9.11.2 GdkEvent 285

9.11.3 GdkEventAny 286

9.11.4 GdkEventButton 286

9.11.5 GdkEventClient 287

9.11.6 GdkEventConfigure 287

9.11.7 GdkEventCrossing 287

9.11.10 GdkEventFocus 289

9.11.9 GdkEventExpose 289

9.11.8 GdkEventDND 289

9.11.11 GdkEventKey 290

9.11.12 GdkEventMotion 290

9.11.13 GdkEventNoExpose 291

9.11.14 GdkEventProperty 291

9.11.15 GdkEventProximity 291

9.11.16 GdkEventtSelection 292

9.11.17 GdkEventVisibility 292

9.12 小结 293

第10章 绘图区与图形元素 295

10.1 绘图区基础 295

10.2 画一个像素 298

10.3 绘画以及填充矩形 301

10.4 绘画以及填充多边形 304

10.5 画圆、椭圆以及弧线 308

10.6 描绘文本 311

10.7 描绘位图 315

10.8 调整绘图区大小 319

10.9 在内存上绘图和制作动画 322

10.10 小结 326

第11章 颜色与图形上下文 327

11.1 颜色的体系结构 327

11.2 图形上下文 331

11.3 小部件颜色的设置 338

11.4 图形上下文中的线型 341

11.5 点画法 349

11.6 在GTKGC中设置值的函数 354

11.7 选择颜色对话框 358

11.8 关于GtkStyle的一些说明 363

11.9 小结 364

第12章 鼠标和键盘 365

12.1 对鼠标事件的响应 365

12.2 获取和释放鼠标 371

12.3 从键盘读入字符 375

12.4 GNOME的命令行选项 381

12.5 添加命令行选项 383

12.6 小结 387

13.1 对字体的解析 389

第13章 字体 389

13.2 字体的命名 390

13.3 字体选择器 392

13.4 字体的大小和放置 395

13.5 小结 403

第14章 小部件技巧 405

14.1 探索小部件 405

14.2 与小部件对话 409

14.3 监听小部件 413

14.4 创建、实现、映射和显示 417

14.4.1 创建和撤消 417

14.4.5 显示和隐藏一个按钮 418

14.4.4 实现和取消 418

14.4.3 映射和取消映射 418

14.4.2 显示和隐藏 418

14.5 小部件的风格 421

14.6 设置小部件风格 425

14.7 小结 428

第15章 applet 429

15.1 一个简单的applet 429

15.2 一个启动应用程序的applet 431

15.3 显示更新信息 432

15.4 applet菜单 435

15.5 面板定位 438

15.6 小结 440

16.1 简单文本拖动-放置 441

第16章 拖放、复制、剪切和粘贴 441

16.2 应用程序之间图形数据的移动 445

16.3 剪切和粘贴 452

16.4 小结 455

第17章 多文档界面 457

17.1 一个简单的多文档界面 457

17.2 MDI菜单和显示模式 460

17.3 带工具条的MDI窗口 466

17.4 小结 471

第18章 创建自己的小部件 473

18.1 条形图小部件 473

18.2 使用AgBargraph小部件 474

18.3 AgBargraph头文件 475

18.4 AgBargraph小部件 478

18.5 小部件的修改和更新 493

18.6 小结 494

第19章 配置和国际化 495

19.1 环境控制 495

19.1.1 配置文件格式 495

19.1.2 配置文件位置 496

19.1.3 读写配置文件 497

19.1.4 保存和获取向量 499

19.1.5 配置文件的数据类型 500

19.2 国际化 503

19.3 小结 506

第3部分 参考与机制 507

20.1 安装GNOME源码 509

第20章 配置与编译 509

20.2 建立开发目录 510

20.3 宏 510

20.4 configure.in文件 511

20.5 文本文件 513

20.6 acconfig.h文件 514

20.7 autogen.sh脚本 514

20.8 Makefile.am主文件 515

20.9 源代码目录 516

20.10 Makefile.am从属文件 516

20.11 运行autogen.sh脚本 517

20.12 小结 518

第21章 GTK+的小部件 519

21.1 GtkAccelLabel 520

21.2 GtkAdjustment 521

21.3 GtkAlignment 522

21.4 GtkArrow 523

21.5 GtkAspectFrame 524

21.6 GtkBin 525

21.7 GtkBox 525

21.8 GtkButton 526

21.9 GtkButtonBox 526

21.10 GtkCalendar 527

21.11 GtkCheckButton 528

21.12 CtkCheckMenuItem 529

21.13 GtkCList 530

21.14 GtkClock 534

21.15 GtkColorSelection 535

21.16 GtkColorSelectionDialog 536

21.17 GtkCombo 537

21.18 GtkContainer 538

21.19 GtkCTree 540

21.20 GtkCurve 545

21.21 GtkData 547

21.22 GtkDial 547

21.23 GtkDialog 548

21.24 GtkDrawingArea 550

21.25 GtkEditable 550

21.26 GtkEntry 551

21.27 GtkEventBox 552

21.28 GtkFileSelection 553

21.29 GtkFixed 555

21.30 GtkFontSelection 555

21.31 GtkFontSelectionDialog 557

21.32 GtkFrame 559

21.33 GtkGammaCurve 560

21.34 GtkHandleBox 560

21.35 GtkHBox 562

21.36 GtkHButtonBox 562

21.37 GtkHPaned 563

21.38 GtkHRuler 563

21.39 GtkHScale 564

21.40 GtkHScrollbar 565

21.41 GtkHSeparator 566

21.42 GtkImage 567

21.43 GtkInputDialog 568

21.44 GtkInvisible 569

21.45 GtkItem 570

21.46 GtkItemFactory 570

21.47 GtkLabel 572

21.48 GtkLayout 573

21.49 GtkList 574

21.50 GtkListItem 576

21.51 GtkMenu 577

21.52 GtkMenuBar 579

21.53 GtkMenuItem 580

21.55 GtkMisc 581

21.54 GtkMenuShell 581

21.56 GtkNotebook 582

21.57 GtkObject 584

21.58 GtkOptionMenu 586

21.59 GtkPacker 587

21.60 GtkPaned 590

21.61 GtkPixmap 590

21.62 GtkPixmapMenuItem 591

21.63 GtkPlug 591

21.64 GtkPreview 592

21.65 GtkProgress 594

21.66 GtkProgressBar 594

21.67 GtkRadioButton 596

21.68 GtkRadioMenuItem 598

21.69 GtkRange 599

21.70 GtkRuler 600

21.71 GtkScale 601

21.72 GtkScrollbar 601

21.73 GtkScrolledWindow 602

21.74 GtkSeparator 603

21.75 GtkSocket 603

21.76 GtkSpinButton 603

21.77 GtkStatusbar 605

21.78 GtkTable 606

21.79 GtkTearOffMenuItem 607

21.81 GtkText 608

21.80 GtkTed 608

21.82 GtkTipsQuery 609

21.83 GtkToggleButton 610

21.84 GtkToolbar 610

21.85 GtkTooltips 613

21.86 GtkTree 614

21.87 GtkTreeItem 616

21.88 GtkVBox 617

21.89 GtkVButtonBox 617

21.90 GtkViewport 618

21.91 GtkVPaned 618

21.92 GtkVRuler 619

21.94 GtkVScrollbar 620

21.93 GtkVScale 620

21.95 GtkVSeparator 621

21.96 GtkWidget 622

21.97 GtkWindow 627

21.98 小结 628

第22章 GNOME的小部件 629

22.1 GnomeAbout 629

22.2 GnomeAnimator 630

22.3 GnomeApp 633

22.4 GnomeAppBar 634

22.5 GnomeCalculator 635

22.6 GnomeCanvas 636

22.9 GnomeCanvasImage 638

22.8 GnomeCanvasGroup 638

22.7 GnomeCanvasEllipse 638

22.10 GnomeCanvasItem 639

22.11 GnomeCanvasLine 640

22.12 GnomeCanvasPolygon 641

22.13 GnomeCanvasRE 641

22.14 GnomeCanvasRect 641

22.15 GnomeCanvasText 642

22.16 GnomeCanvasWidget 642

22.17 GnomeClient 642

22.18 GnomeColorPicker 647

22.19 GnomeDEntryEdit 648

22.20 GnomeDialog 650

22.21 GnomeDock 653

22.22 GnomeDockBand 657

22.23 GnomeDockItem 659

22.24 GnomeDockLayout 660

22.25 GnomeEntry 661

22.26 GnomeFileEntry 662

22.27 GnomeFontPicker 664

22.28 GnomeFontSelector 665

22.29 GnomeGuru 666

22.30 GnomeHRef 667

22.31 GnomeIconEntry 668

22.32 GnomeIconSelection 670

22.33 GnomeLess 671

22.34 GnomeMDI 672

22.35 GnomeMDIChild 673

22.36 GnomeMDIGenericChild 674

22.37 GnomeMessageBox 675

22.38 GnomeNumberEntry 677

22.39 GnomePaperSelector 678

22.40 GnomePixmap 680

22.41 GnomePixmapEntry 682

22.42 GnomeProcBar 683

22.43 GnomePropertyBox 685

22.44 GnomeScores 689

22.45 GnomeSpell 690

22.46 GnomeStock 691

22.48 小结 693

22.47 GnomeStockPixmapWidget 693

第23章 一些Linux机制 695

23.1 Linux错误代码 695

23.2 生成进程 696

23.3 执行命令行 698

23.4 管道 699

23.5 时间 700

23.6 文件信息 704

23.7 系统信息 706

23.8 小结 709

第24章 Win32和GNOME的比较与剖析 711

24.1 Win32程序 711

24.2 GNOME程序 714

24.3 详细比较 716

24.3.1 初始化 717

24.3.2 主窗口 717

24.3.3 响应事件 717

24.3.4 主循环 718

24.3.5 程序的关闭 718

24.3.6 全局数据 718

24.4 小结 719

附录A 光盘上的内容 721

A.1 光盘上的内容目录 721

A.2 示例 722

A.3 GNOME 722

A.4 工具 723

附录B 设置软件开发环境 725

B.1 Linux 725

B.2 gcc(egcs) 726

B.3 Xfree86 726

B.4 autoconf和automake 726

B.5 GNOME、glib、GDK及GTK+ 726

B.5.1 从源代码安装GTK+ 727

B.5.2 获取GTK+和GNOME源文件 727

附录C 继承 731

附录D arg设置与获取 737

附录E 枚举类型 745

附录F 信号 759

附录G 返回型函数 767