书籍详情

Qt及Linux操作系统窗口设计

Qt及Linux操作系统窗口设计

作者:倪继利编著

出版社:电子工业出版社

出版时间:2006-04-01

ISBN:9787121024344

定价:¥68.00

购买这本书可以去
内容简介
  《Linux内核分析及编程》一书作者倪继利新作!目前市场上唯一一本关于Qt的专业图书! 如何在Linux内核上建立窗口系统,这是嵌入式设备软件开发工程师必须了解的。Qt/Embedded是高端嵌入式设备PDA及手机的主流开发工具。作为一项成熟的技术,KDE桌面系统对于嵌入式窗口系统的设计有很大参考价值:Qtopia给嵌入式窗口系统提供了很好的框架。本书不仅阐述了KDE及X Window的机制,分析了Qt及Qt/Embedded开发工具的核心技术,而且还详细介绍了如何在嵌入式设备上建立Qtopia窗口系统。掌握了本书中所介绍的技能,读者可以在Linux内核上建立窗口系统,开发应用程序并能够在PC上模拟运行为嵌入式设备开发的应用程序。本书主要针对从事开发Linux应用程序的软件工程师,也很适合作为大学教材和参考书。 第1章“X Window”阐述了X的体系分层结构、显卡驱动程序、X协议,说明了建立在X上的各种编程方法,还分析了X客户端应用程序Xlib函数如何发出请求以及X服务器的工作原理及源代码。第2章“Qt编程核心技术”介绍了Qt对象模型、国际化方法、元对象及代码生成、进程问通信、窗口部件的基类、模板库和集合类、Qt线程、鼠标拖放、键盘焦点、会话管理,以及调试等方面的技术。第3章“KDE窗口系统”介绍了KDE的MIME类型处理、服务、KIO框架、组件框架和国际化等,还分析了KDE的启动过程及kicker应用程序。第4章“Qt/Embedded客户/服务器”讲述了将应用程序下载到嵌入式设备运行的方法,介绍了各种嵌入式GUI窗口系统,阐述了Qt/Embedded的客户/服务器模型工作过程。本章还分析了设备输入事件在客户与服务器之间的传递机制、应用程序窗口的显示原理,并说明了运行Qt/Embedded程序的方法。第5章“Qtopia核心技术”介绍了Qtopia开放源代码的核心技术及类库,其中着重分析了插件的装载过程、应用程序快速启动器的机制、类MimeType,以及编写输入法的方法等。第6章“Qtopia服务器”主要说明组成Qtopia服务器的各个类的功能,介绍了Qtopia服务器的启动过程,分析了Qtopia服务器如何启动应用程序及插件,还分析了电源监控、外观设置、应用程序安装与卸载以及AppServices等与系统管理相关的小应用程序。第7章“Qtopia的sysinfo应用程序分析”详细分析了sysinfo应用程序的源代码。第8章“Qtopia编译及系统集成”说明了Qtopia的定制与集成,阐述了,pro项日文件的语法...[更多内容]
作者简介
暂缺《Qt及Linux操作系统窗口设计》作者简介
目录
第1章  X Window    1
1.1  X Window的体系结构    1
1.1.1  X Server    2
1.1.2  X Client    2
1.1.3  X Protocol    3
1.2  窗口管理器    4
1.3  X Window启动过程    5
1.4  XFree86配置文件分析    7
1.5  X Window程序设计简介    9
1.5.1  Xlib编程    9
1.5.2  Motif编程    11
1.5.3  GTK/GNOME    12
1.5.4  KDE    14
1.6  显示驱动程序    14
1.6.1  显卡驱动方式    14
1.6.2  帧缓冲    15
1.6.3  在台式机上使用通用帧缓冲    15
1.6.4  帧缓冲设备驱动程序    18
1.7  X Window协议    21
1.7.1  X协议    22
1.7.2  X传输接口    26
1.7.3  XDMCP协议    30
1.8  X Client应用程序源代码分析    31
1.8.1  xinit分析    31
1.8.2  XOpenDisplay    35
1.8.3  函数XCreateWindow分析    39
1.9  X Server应用程序分析    43
1.9.1  X Server概述    43
1.9.2  DIX层    44
1.9.3  OS层    48
1.9.4  DDX层    56
1.9.5  Screen    62
第2章  Qt编程核心技术    81
2.1  Qt概述    81
2.2  Qt对象模型    81
2.2.1  信号和槽    83
2.2.2  元对象系统    85
2.2.3  元对象编译器限制    87
2.2.4  属性    89
2.3  QObject类    90
2.3.1  对象树    91
2.3.2  事件处理过程    92
2.3.3  事件运行机制    95
2.3.4  事件过滤器    95
2.3.5  定时器    96
2.3.6  连接函数connect    98
2.3.7  字符串翻译函数    98
2.4  Qt国际化    98
2.4.1  软件中字符串国际化方法    98
2.4.2  创建译本    100
2.4.3  编码支持    101
2.5  QMetaObject元对象类    102
2.5.1  相关的数据结构    102
2.5.2  QMetaObject对象    103
2.5.3  Q_OBJECT宏及moc生成
2.5.3  代码分析    106
2.6  进程间通信--QCopChannel    109
2.7  窗口部件类    111
2.7.1  窗口部件的基类QWidget    112
2.7.2  QFrame类    113
2.7.3  QScrollView类    114
2.8  Qt风格机制    117
2.8.1  风格类    117
2.8.2  窗口系统风格更新机制    120
2.9  布局类    125
2.10  Qt插件    130
2.11  Qt模板库    131
2.11.1  迭代器    131
2.11.2  算法    132
2.11.3  数据流串行化    134
2.12  集合类    134
2.12.1  基于指针的容器的结构    135
2.12.2  管理集合条目    135
2.12.3  迭代器    136
2.13  Qt线程    137
2.13.1  线程类QThread    137
2.13.2  线程安全的事件传递    138
2.14  鼠标拖放    140
2.15  键盘焦点    143
2.15.1  焦点移动的方式    143
2.15.2  焦点策略及操作函数    145
2.16  会话管理    145
2.16.1  会话管理    145
2.16.2  测试和调试会话管理    146
2.17  调试技术    147
2.17.1  命令行参数    147
2.17.2  打印警告和调试消息    147
2.17.3  调试宏    149
第3章  KDE窗口系统    151
3.1  KDE 3.5源代码说明    151
3.2  KDE类库    153
3.3  系统资源访问    154
3.3.1  标准资源目录    154
3.3.2  KDE系统配置缓冲    155
3.4  图形支持    155
3.5  用户界面    156
3.5.1  Action模式    156
3.5.2  用XML定义菜单和工具栏    156
3.5.3  在线帮助    157
3.5.4  复杂窗口部件    157
3.6  MIME类型处理    157
3.6.1  一个应用MIME类型的例子    158
3.6.2  映射MIME类型到一个应用
2.5.3  程序或服务    159
3.7  KDE服务    160
3.7.1  定义服务类型    161
3.7.2  定义共享库服务    161
3.7.3  定义DCOP服务    162
3.8  KIO框架    163
3.8.1  同步使用KIO    164
3.8.2  同步使用KIO    164
3.8.3  MetaData    164
3.8.4  调度    165
3.8.5  定义一个ioslave    166
3.9  DCOP    167
3.9.1  DCOP工具    167
3.9.2  DCOP收发数据    168
3.10  KDE应用程序启动其他应用程序的方法    173
3.11  国际化和本地化    174
3.12  编译方法    175
3.13  桌面框架    179
3.13.1  Panel Applets    179
3.13.2  控制中心模块    181
3.14  组件框架    182
3.14.1  KParts组件    182
3.14.2  系统托盘    183
3.14.3  集成Java    183
3.15  KDE协议说明    184
3.16  KDE启动    185
3.16.1  startkde脚本分析    186
3.16.2  startkde中的应用程序说明    189
3.16.3  桌面组件    191
3.17  kicker应用程序    193
3.17.1  kicker应用程序的类继承关系    194
3.17.2  桌面配置文件    196
3.17.3  kicker窗口的建立过程    197
3.17.4  K菜单    203
第4章  Qt/Embedded客户/服务器    212
4.1  各种嵌入式GUI    212
4.1.1  X Window    213
4.1.2  MICROWindows    213
4.1.3  MiniGUI    213
4.1.4  QT/Embedded    214
4.2  Qt/Embedded的应用示例    217
4.2.1  编译Linux内核    217
4.2.2  root文件系统    217
4.2.3  裁剪Qt/Embedded库    217
4.2.4  编译应用程序    218
4.2.5  拷贝Qt库及应用程序    218
4.2.6  打包    218
4.2.7  下载及运行    219
4.3  帧缓冲    220
4.3.1  DirectFB介绍    220
4.3.2  虚拟帧缓冲qvfb    220
4.4  创建应用程序    221
4.4.1  QApplication类    221
4.4.2  QApplication构造函数    222
4.5  构建服务器    224
4.5.1  QWSServer类说明    224
4.5.2  QWSServer类构造函数分析    225
4.6  Qt/Embedded客户端与服务器通信    228
4.6.1  服务器相关的类说明    229
4.6.2  客户与服务器间的接收事件处理    230
4.6.3  服务器对窗口的协调管理    235
4.7  输入设备与应用程序通信    237
4.7.1  鼠标键盘相关类    238
4.7.2  打开鼠标设备的过程    238
4.7.3  设备文件与socket连接    241
4.7.4  服务器捕获设备输入信号    243
4.7.5  服务器发送事件给客户    244
4.8  应用程序显示    246
4.8.1  与显示相关的类    246
4.8.2  与字体相关的类    247
4.8.3  函数init_display    248
4.8.4  QWSDisplay构造函数分析    249
4.8.5  QScreen    252
4.8.6  与图形显示相关的类    259
4.8.7  图形显示    262
4.9  运行Qt/Embedded应用程序    268
4.10  字符输入    269
4.11  增加一个加速显示卡驱动程序到Qt/Embedded    270
4.12  Qt/Embedded作为VNC服务器    271
第5章  Qtopia的核心技术    272
5.1  Qtopia简介    272
5.1.1  Qtopia PDA    272
5.1.2  Qtopia手机版    273
5.1.3  手机库    274
5.1.4  Qtopia Desktop    275
5.2  信道和消息    275
5.3  国际化    278
5.3.1  翻译操作步骤    278
5.3.2  .qm文件位置    278
5.3.3  Desktop文件国际化    279
5.3.4  文档国际化    279
5.4  Qtopia 文件系统标准    279
5.5  Qtopia插件    281
5.5.1  建立插件的步骤    281
5.5.2  装载插件的方法    283
5.6  输入法插件    286
5.6.1  创建弹出输入方法    287
5.6.2  创建复合输入法    290
5.7  快速启动应用程序    294
5.7.1  改进主窗口创建时间    294
5.7.2  Quick Launcher    295
5.7.3  应用Quick Launcher    296
5.7.4  Quick Launcher的宏定义    296
5.7.5  运行Quick Launcher分析    299
5.8  Qtopia核心类库说明    302
5.8.1  QPEApplication类    302
5.8.2  应用程序配置与连接类    304
5.8.3  PIM管理类    310
5.8.4  桌面相关类    312
5.8.5  字体与输入法相关类    314
5.8.6  StorageInfo和FileSystem类    315
5.8.7  DeviceButtonManager和
5.8.7  DeviceButton类    318
5.8.8  图像处理相关类说明    319
5.8.9  多媒体播放相关类说明    319
5.8.10  网络相关类说明    320
5.8.11  软件模块接口类    322
5.8.12  Service和ServiceRequest类    324
5.8.13  MimeType类    325
5.8.14  其他类说明    330
第6章  Qtopia服务器    332
6.1  Qtopia服务器特定的类    332
6.1.1  ServerApplication类    333
6.1.2  Server类    333
6.1.3  Launcher类    334
6.1.4  LauncherTabWidget、LauncherTabBar和LauncherTab类    335
6.1.5  LauncherView和LauncherItem类    337
6.1.6  AppLauncher和QuickLauncher类    337
6.1.7  LoadingWidget和DocumentList类    338
6.1.8  TaskBar类    338
6.1.9  StartMenu和StartPopupMenu类    339
6.1.10  InputMethodSelector和InputMethods类    339
6.1.11  RunningAppBar和SysTray类    341
6.1.12  服务器的其他类说明    341
6.2  Qtopia服务器启动过程    343
6.2.1  Qtopia服务器的main函数    343
6.2.2  ServerApplication类构造函数    345
6.2.3  Server类构造函数    347
6.2.4  创建服务器主窗口界面UI    348
6.2.5  创建应用程序图标视图    350
6.3  应用程序启动过程    354
6.4  文档的打开过程    360
6.5  电池监控小应用程序    362
6.5.1  电池状态窗口类    363
6.5.2  电源状态管理器类    365
6.5.3  插件装载    365
6.6  外观设置    366
6.6.1  main函数    367
6.6.2  SampleWindow类    367
6.6.3  AppearanceSettings类    368
6.6.4  AppearanceSettings类的构造函数分析    368
6.7  安装与卸载应用程序    376
6.8  AppServices应用程序    377
6.8.1  AppServices类    378
6.8.2  ASCheckListItem类    381
6.9  插件管理器    382
第7章  Qtopia的sysinfo应用程序分析    384
7.1  SystemInfo类    384
7.2  VersionInfo类    385
7.3  StorageInfoView类    387
7.4  负载信息LoadInfo    396
7.5  内存信息    399
7.6  DataView类    400
第8章  Qtopia编译及系统集成    401
8.1  qmake介绍    401
8.1.1  qmake编译过程    401
8.1.2  .pro文件的语法分析    402
8.2  Qtopia编译方法    404
8.2.1  Qtopia编译步骤    404
8.2.2  Qtopia Desktop编译步骤    406
8.2.3  编译一个应用程序    407
8.2.4  使用NFS运行应用程序    409
8.2.5  应用程序调试    410
8.3  为设备定制Qtopia    411
8.3.1  定制Qtopia启动器用户界面    411
8.3.2  设备硬件因素    412
8.3.3  不安装及不支持的组件    414
8.3.4  安全模式需要的插件    414
8.3.5  电源管理    414
8.3.6  可移去的存储卡    415
8.3.7  I18N    416
8.3.8  访问权限和仅读文件系统    416
8.3.9  MMS客户端    416
8.3.10  GSM模块集成    417
8.3.11  定制键盘    417
8.3.12  配置硬件按钮    419
8.4  系统集成    421
8.4.1  创建设备特定交叉编译工具配置文件    421
8.4.2  定制电源、背景灯控制和键盘扫描码    421
8.4.3  在Qt/Embedded中创建键盘处理函数    422
8.4.4  配置指针设备    423
8.4.5  配置适合设备的Qt/Embedded库    424
8.4.6  配置适合设备的Qtopia    428
8.4.7  为目标设备创建和安装Qtopia image文件    428
8.4.8  在设备上配置适合于Qtopia的环境变量    428
8.4.9  安装另外的字体    428
8.4.10  集成Java    429
8.5  Qtopia编译系统    429
8.5.1  内部的编译系统项目文件说明    430
8.5.2  项目文件生成Makefile    434
8.5.3  src-components.pro 和src.pro文件    434
8.5.4  configure脚本生成Makefile    437
8.6  Qtopia的编译过程    442
8.6.1  编译库    442
8.6.2  相互独立的应用程序及插件的编译    444
8.6.3  文件的安装    444
8.6.4  打包分发    446
8.7  生成img文件并烧录    449
主要参考文献    450
猜您喜欢

读书导航