嵌入式浏览器Konqueror的移植和汉化_第1页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式浏览器konqueror的移植和汉化目前,扫瞄器已经逐渐成为高端手机和pda的标准配置。konqueror/embeded作为嵌入式操作系统的首选扫瞄器得到了广泛用法。但是因为该扫瞄器是自由软件,因此向详细嵌入式平台移植时存在一定的难度。本文主要介绍了konqueror/embedded向-linux平台上的囫囵移植和汉化过程,以便工程师参考和用法。konqueror/embedded的结构konqueror/embedded是由底层网络衔接,图形化用户界面和处理html绘制的引擎khtml构成的。底层的通信协议实现是基于kio/slave机制来实现的;gui界面采纳kparts组建技术

2、和qt的基本构件;而作为konqueror/embedded的核心,khtml则运用了文档对象模型(dom)所提供的api接口,并在dom树上挂接javascript引擎,css解析器以及渲染引擎。konqueror/embedded的层次结构1所示。图1 konqueror/embedded层次结构kparts及qt构件实现gui为了便利地实现将现有应用作为一个控件插入到另外一个应用中去,采纳了part对象负责管理囫囵应用和窗口。对于每个窗口又实行了类似 微软 mfc 中的 doc-view 结构。因此在将应用嵌入到另外一个应用中的时候,只需要获得part中的接口和数据即可。对窗口的一切操作

3、的响应由被嵌入应用的 part 对象来完成,而类 doc-view 结构只负责显示和保存数据即可。因为konqueror/embedded是基于图形库qt/e,因此也遵循了signal、slot消息机制,konqueror/embedded作为qt/e的一个标准应用程序举行输入/输出及界面消息响应。执行dom 模块dom 模块对经过解析的标志举行语法检查,并把属性看作节点,根据标志的语义包含关系以及先后挨次组织成dom树。它给html 文档定义了一个与平台无关的程序接口,用法该接口可以控制文档的内容、接口和样式。在执行dom模块的过程中,扫瞄器将全部从语法语义解析模块中获得的标志和属性,根据一

4、定的层次结构组织成dom 树。完成dom 树的构筑后,dom 模块会同时把标志和属性以对象的形式传给绑定模块和脚本引擎模块。执行i/o模块扫瞄器加载有关的i/o文件,对http等协议举行解析。语法语义解析模块的解析功能分为两部分:对接收到的字节流举行分词,解析为关键字;调用解析器检验关键字是否合法,若是合法的关键字,则根据规章插入到dom 树中。html 的标志和属性统称为html的关键字。基本上全部html 4. 0 规范的标志都在此功能模块中获得支持。从i / o 模块中接收字节流并举行分词,输出标志;再对标志举行推断,假如是html 规范中合法的标志,则把标志看作一个节点,并组织成语法树

5、。对属性标志的解析首先在标志处理类中执行,假如解析不胜利,则交由基类的属性解析器举行解析。图2 编译配置konqueror/embedded的移植交错编译工具的安装在本文中,运用的交错编译工具是特地为arm处理器设计的arm-crosstoolchain。2.95.3版本的交错编译工具只能解压到/usr/local/arm/2.95.3名目下,否则在qt/e编译时会出错。为了在任何名目下都能用法工具链,必需要对路径举行设置。用vi编辑器打开/etc/profile文件并添加下述路径:path=/usr/local/arm/2.95.3/binpathqt/e的编译qt是一个跨平台的 c+ 图形

6、用户界面库,目前包括qt/x11(基于 framebuffer)和qt/e(qt embedded)。konqueror/embedded就是基于qt/e图形用户界面库的,因此在编译konqueror/embedded之前必需先编译qt/e。编译qt/x11就是为编译qt/e提供uic(用户接口编译器),uic用来把.ui文件转成.h和.cpp文件。将qt/x11编译完毕而生成的uic拷贝到qt/e的bin名目下面。在编译qt/e之前,先要将qtopia的一个配置文件拷贝到qt/e中,表示qt/e的配置是根据qtopia要求的,即:cp qtopia-free-1.7.0/src/qt/qco

7、nfig-qpe.h qt-embedded-2.3.7/src/tools/之后就可以设置环境变量,编译qt/e了。编译qt/e完成后,在qt/e的lib名目下会自动生成libqte.so.2.3.7库文件。图3 文件的原路径和目标板路径图形界面qtopia的编译qtopia 是基于qt/e的图形界面应用程序集,通过qtopia真正地将图形界面呈现在用户的眼前。而konqueror/embedded在普通状况下是在qtopia环境下运行的,所以要用到qtopia库。也有少数状况不会用到,即系统启动的时候只运行konqueror/embedded。那么只要在编译konqueror/embedd

8、ed的时候配置稍作修改即可,本文只介绍前者。在编译qt/e的时候已经将qtopia的配置传递给了qt/e,因此编译qtopia时就十分简单了,如下所示:cd qtopia-free-1.7.0/src./configure -xplatform linux-arm-g+make这样,在bin名目下会生成一组应用程序集,在lib名目下产生了一系列的qtopia库,给konqueror/embedded的编译做预备。konqueror/ embedded的编译和安装konqueror/ embedded的编译在编译konqueror/embedded之前,必需将qt/e和qtopia的路径指定给编

9、译器。这样编译器才干找到相应的库,从而为konqueror/embedded提供相应的库文件。先设置一些须要的环境变量,然后再根据图2配置和编译konqueror/embedded。在编译配置时,这些配置选项都是有各自含义的。有些配置选项假如搞错,编译就无法通过,甚至有时候连配置都不能完成。比如qt/e路径指定不对就会在配置时出错,这些都需要在实际的移植过程中才干体验到。konqueror/embedded的安装在konqueror/embedded编译完成之后,名目下会生成相应的可执行文件。因此konqueror/embedded的安装主要是指将可执行文件和一些其他的配置文件拷贝到嵌入式系统

10、的文件系统中去。普通来说,konqueror/embedded运行需要5个文件,图3描绘了这5个文件的本来所在路径和安装到目标板的路径,这些都要手动去拷贝。在目标板上运行konqueror/embedded之前,必需指定几个环境变量,否则konqueror/embedded会由于找不到库文件而终止运行。预先设置好环境变量,再运行konqueror/embedded。至此,konqueror/embedded已经安装完毕。但是konqueror/embedded缺省状况下是不支持中文网页的,而且界面是英文的。某些状况下为了满足特定的需要,其汉化也是十分须要的。konqueror/embedded

11、的汉化konqueror/embedded的汉化可分为两个部分: 一个是konqueror/embedded本身控制界面的汉化;另一个是konqueror/embedded对中文网站的拜访支持。和其他基于qt的应用程序一样, konqueror/embedded中对全部用户可见的文本用法tr()将文本标识出来,这样利用qt 提供的翻译工具将很简单把这些文本转化成所需要的语言。同时qt 提供了两个宏qt_ tr_noop ( ) 和qt_ translate_ noop ( ) ,可用它们标示出文本,以便于被lupdate 工具提取。详细操作步骤如下:在需要翻译源码的xxx. pro 中加入一项

12、: translations = xxx. t s;运行lupdate xxx. pro ,生成xxx. ts 文件;运行lrelease xxx. pro 将生成xxx. qm,并将其改名为xxx_en.qm;启动qt linguist 将xxx. ts 文件导入,将需要翻译的内容翻译成中文;翻译完成之后, 点击file re2lease ,将文件保存为xxx_zh. qm;翻译文件保存之后, 在程序源码中需要构建qt ranslator 实例,利用qt ranslator 将翻译文件加载到图形界面上。在konqueror/ embedded 中可以通过修改main. c 中的代码来实现ui

13、 的汉化。因为qt/e是可以支持unicode编码的,因此konqueror/embedded也可以支持中文。但是在编译qt/e的缺省配置中是不支持unicode的,因此要手动修改qconfig-qpe.h文件的配置:注释掉38行,define qt_no_codecs。修改完毕以后,重新开头编译qt/e以及qtopia和konuqueror/e,konqueror/embedded就能接受unicode编码的汉字了。但是要在konqueror页面上显示,就必需要有相应的字体。因此,对konqueror/embedded源代码中/konq-embed/dropin/ kglobalsettings.cpp文件举行修改,即将"helvetica"改为"unifont"后重新编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论