第1部分 开始学习 5
第1章 什么是KDE 6
1.1 KDE应用程序的结构 6
1.2 软件层次 7
1.3 关于Qt 8
1.4 关于KDE 10
1.6 名称定义方式 11
1.7 小结 11
1.5 事件发生 11
第2章 创建并显示一个窗口 13
2.1 一个关于Qt的简单例子:Hello Qt 13
2.2 一个关于KDE的简单例子:Hello KDE 16
2.3 一个简单窗口类 17
2.4 复合部件 19
2.5 监控按钮 21
2.6 为一个信号定义slot 22
2.7 小结 25
3.1 几何部件布置 27
第3章 在窗口中布置部件 27
3.2 部件的大小 29
3.3 在固定栅格下布置部件 30
3.4 在栅格中拉伸部件 33
3.5 部件占据多个栅格单元 37
3.6 垂直框布局 39
3.7 水平框布局 42
3.8 框的对齐方式 43
3.9 布局之内的布局 45
3.10 布局也是一个部件 49
3.11 用ISa替换HASa 51
3.12 位于其他部件之内的部件(水平方向上) 53
3.13 位于其他部件之内的部件(垂直方向上) 57
3.14 小结 60
第4章 显示弹出式对话框 62
4.1 一个简单的对话框 62
4.2 使用信号和slot 65
4.3 创建信号和slot的工作步骤清单 71
4.4 KDialogBase 73
4.5 KDialogBase按钮 75
4.6 使用KDialogBase构建对话框 77
4.7 KDialogBase数据的另一种使用方法 82
4.8 由KDialogBase派生而来的KMessageBox对话框 83
4.9 小结 91
第5章 预定义对话框 93
5.1 About对话框 93
5.2 QFileDialog对话框 100
5.3 QTabDialog对话框 105
5.4 QProgressDialog对话框 107
5.5 小结 112
第6章 菜单和工具栏 113
6.1 KTMainWindow 113
6.2 菜单 117
6.3 弹出菜单 124
6.4 工具栏 126
6.5 状态栏 130
6.6 小结 132
第7章 把部件组合起来 134
7.1 KButtonBox 134
7.2 把一组按钮与同一个slot相连接 136
7.3 把单选按钮组合到一起 139
7.4 把开关按钮组合起来 142
7.5 一些部件也是框架 146
7.6 框架选项 149
7.7 共享窗口资源 152
7.8 小结 155
第2部分 逐步深入 157
第8章 鼠标和键盘 158
8.1 从一个端口到某个slot 158
8.2 鼠标事件 159
8.3 鼠标的捕捉与释放 164
8.4 改变指针的外形 166
8.5 设计指针 170
8.6 键盘事件 172
8.7 小结 177
第9章 图形文件格式 178
9.1 两种不同格式的图形 178
9.2 XPM格式 179
9.3 显示由数据生成的XPM 182
9.4 从一个文件中载入一个像素映射 184
9.5 用一个像素映射装饰一个按钮 185
9.6 XBM格式 186
9.7 位图工具 187
9.8 为菜单和工具栏定制图标 188
9.9 小结 193
第10章 字体 195
10.1 剖析一个字体 195
10.2 字体的名称 196
10.3 设置一个部件的字体 198
10.4 为QFontDialog选择一种字体 200
10.5 为KFontDialog选择一种字体 202
10.6 按度量值设置的字体布局 204
10.7 基于矩形的字体布局 210
10.8 小结 213
第11章 颜色 214
11.1 颜色的体系结构 214
11.2 构建一个QColor对象 218
11.3 KColorDialog 221
11.4 QColorGroup中的Qcolors 224
11.5 在一个QPalette中的QColorGroups 228
11.6 为多个部件设置颜色 228
11.7 在着色过程中使用QPalette 230
11.8 小结 232
第12章 用QPainter画图和着色 233
12.1 为QPaintDevice绘制像素 233
12.2 一些关于矩形的诀窍 234
12.3 画笔 238
12.4 标准的画刷 241
12.5 创建用户画刷 243
12.6 每个QPaintDevice都有规格(Metrics) 245
12.7 绘制像素 248
12.8 绘制像素数组 250
12.9 绘制向量线 252
12.10 线段和多边形 254
12.11 椭圆和圆 256
12.12 绘制圆和椭圆的一部分 257
12.13 有圆角的矩形 260
12.14 绘制像素和文本 262
12.15 小结 264
第13章 图形处理 266
13.1 用QPicture存储图形 266
13.2 把图形绘制到一个打印机上 269
13.3 打印机的信息及其控制 272
13.4 使图形与窗口协调起来 276
13.5 使图形与子窗口协调起来 278
13.6 剪切 280
13.7 缩放比例 282
13.8 切变 283
13.9 平移 285
13.10 旋转 287
13.11 一条二次贝塞尔曲线 289
13.12 包含像素映射序列的动画 290
13.13 用QImage访问像素的值 296
13.14 在QFileDialog中使用目标提供器 299
13.15 小结 305
第14章 拖放文本和图形 306
14.1 拖放一个简单的文本 306
14.2 同时拖放文本及图像的数据 311
14.3 剪切及粘贴 316
14.4 小结 320
第15章 进程间的通信以及Applet 321
15.1 DCOP通信模式 321
15.2 命令行参数 327
15.3 惟一的应用程序 330
15.4 一个Applet例子 331
15.5 小结 335
16.1 string类 336
第16章 公用类 336
16.2 运行一个计时器 346
16.3 类QDate 347
16.4 类QTime 349
16.5 类QDateTime 352
16.6 写入一个文件 353
16.7 读取文件 354
16.8 向文件中写入文本流 355
16.9 从文件中读取出文本流 356
16.10 小结 357
17.1 一个能翻译代码的应用程序 359
第17章 国际化及其配置 359
17.2 声明可译的字符串 363
17.3 处理翻译后的字符串 364
17.4 构造翻译文件 364
17.5 Unicode和QChar 367
17.6 配置 370
17.7 小结 373
第3部分 参考资料和结构 375
18.1 QButton 376
第18章 Qt中的部件 376
18.2 QButtonGroup 377
18.3 QCheckBox 378
18.4 QColorDialog 379
18.5 QComboBox 380
18.6 QDialog 382
18.7 QFileDialog 383
18.8 QFontDialog 385
18.9 QFrame 386
18.10 QGrid 387
18.11 QGroupBox 388
18.12 QHBox 389
18.13 QHButtonGroup 390
18.14 QHeader 390
18.15 QHGroupBox 392
18.16 QIconView 393
18.17 QInputDlalog 397
18.18 QLCDNumber 398
18.19 QLabel 399
18.20 QLineEdit 400
18.21 QListBox 402
18.22 QListView 405
18.23 QMainWindow 409
18.24 QMenuBar 410
18.25 QMessageBox 412
18.26 QMultiLineEdit 414
18.27 QPopupMenu 416
18.28 QPrintDialog 417
18.29 QProgressBar 419
18.30 QProgressDialog 420
18.31 QPushButton 421
18.32 QRadioButton 422
18.33 QScrollBar 423
18.34 QScrollView 425
18.35 QSemiModal 427
18.36 QSizeGrip 428
18.37 QSlider 429
18.38 QSpinBox 431
18.39 QSplitter 433
18.40 QStatusBar 434
18.41 QTabBar 435
18.42 QTabDialog 436
18.43 QTabWidget 438
18.44 QTextBrowser 439
18.45 QTextView 441
18.46 QToolBar 442
18.47 QToolButton 444
18.48 QVBox 445
18.49 QVButtonGroup 446
18.50 QVGroupBox 447
18.51 QWidget 448
18.52 QWidgetStack 452
18.53 QWizard 453
18.54 小结 455
第19章 KDE中的部件 456
19.1 KAboutContainer 456
19.2 KAboutContainerBas 458
19.3 KAboutContributor 459
19.4 KAboutDialog 460
19.6 KAboutWidget 462
19.5 KAboutKDE 462
19.7 KAccelMenu 463
19.8 KAnimWidget 463
19.9 KAuthIcon 465
19.10 KBugReport 465
19.11 KButtonBox 465
19.12 KCharSelect 466
19.13 KCharSelectTable 468
19.14 KCModule 468
19.15 KColorButton 469
19.16 KColorCells 470
19.17 KColorCombo 471
19.18 KColorDialog 472
19.19 KcolorPatch 473
19.20 KComboBox 474
19.21 KContainerLayout 475
19.22 KDatePicker 476
19.23 KDateTable 478
19.25 KDialogBase 479
19.24 KDialog 479
19.26 KDialogBaseButton 483
19.27 KDirectionButton 483
19.28 KDockMainWindow 484
19.29 KDockWidget 485
19.30 KDoubleNumInput 488
19.31 KDualColorButton 489
19.32 KEdFind 490
19.33 KEdGotoLine 491
19.34 KEdit 492
19.35 KEdReplace 494
19.36 KFileDialog 495
19.37 KFontChooser 497
19.38 KFontDialog 498
19.39 KFormulaEdit 498
19.40 KFormulaToolBar 500
19.41 KGradientSelector 501
19.42 KHSSelector 502
19.43 KHTMLView 502
19.44 KIconButton 504
19.45 KIconDialog 505
19.46 KIconView 506
19.47 KImageTrackLabel 507
19.48 KIntNumInput 508
19.49 KIntSpinBox 509
19.50 KKeyButton 510
19.51 KLed 511
19.52 KLineEdit 512
19.53 KLineEditDlg 513
19.54 KListBox 514
19.55 KListView 515
19.56 KMenuBar 516
19.57 KNumInput 517
19.58 KPaletteTable 518
19.59 KPanelApplet 519
19.60 KPasswordDialog 519
19.61 KPasswordEdit 521
19.62 KPopupMenu 521
19.63 KProgress 522
19.64 KRestrictedLine 524
19.66 KRuler 525
19.65 KRootPermsIcon 525
19.67 KSelector 528
19.68 KSeparator 529
19.69 KSpellConfig 530
19.70 KSpellDlg 531
19.71 KSplitList 532
19.72 KStatusBar 533
19.73 KStatusBarLabel 534
19.74 KTextBrowser 535
19.75 KTextPrintDialog 536
19.76 KTMainWindow 537
19.77 KToolBar 539
19.78 KToolBarButton 542
19.79 KWizard 543
19.80 KXYSelector 544
19.81 小结 545
第20章 窗口程序间的对比剖析 546
20.1 一个Win32程序 546
20.2 一个KDE程序 549
20.3 对Win32和KDE进行点对点的比较 551
20.4 一个GNOME程序 552
20.5 小结 555
附录A CD—ROM中的内容 556
附录B 设置软件开发环境 561
附录C 函数 566
附录D 返回值 628
附录E 枚举类型 662
附录F 信号 686
附录G slot 695