下载后可任意编辑基于 QtWebkit 的嵌入式 bs 架构设计Write by: tadaya概述:本文旨在介绍如何使用 QtWebkit 来实现嵌入式客户端(browser),而不关注 webkit引擎的原理和任何效率问题。重点关注如何使用遥控器去操作网页中的元素(例如焦点移动,打开新的链接),这种应用在目前的 iptv 上应用非常广泛,通过实现自己的 browser,可以加载不同的风格的界面(即网页),结合使用 qt 其他控件和 QtWebkit(框架)实现功能与界面完美结合的产品。关键字:焦点, QtWebkit,元素一.嵌入式 BS 架构的优势。嵌入式 bs 架构的设计与 pc 上的 bs 架构的区别:1.pc 上无须自行设计浏览器,嵌入式需要对浏览器进行特别处理。(如按键等)2.嵌入式需要加上对遥控器的支持。(如 tv 遥控器)3.pc 上支持的网页元素比嵌入式要多。4.嵌入式需要做多套网页以适应不同屏幕的分辨率。5.嵌入式需要考虑 page cache 和 flash 权衡的问题。 bs 架构比 cs 架构的优势:1.设计简单。大部分界面和部分功能都在后台服务器实现。2.界面炫丽。使用网页可以达到很炫的效果,显示格式也非常好控制。3.修改方便。基本上只需修改网页就可以了。4.可扩展性强。一个设计好的 browser 可以使用不同风格的网页,如:加载 youku 看电影,加载土豆看电影(不过这比较困难,焦点通过遥控器的移动在网页中链接,输入框button 之间是一个非常困难的过程,嵌入式 flash player 很少)。二.QtWebkit 的优势以及使用QtWebkit 只是一个浏览器框架,其核心引擎时 webkit,QtWebkit 简单的归纳为 webkit 的显示界面,即表现层和逻辑层的关系。QtWebkit 的优势在于:1.可移植性强。Linux,windows,embedded linux。2.对 javascript 支持比较好。3.对 css 支持比较全面。4.封装比较好,简单易用。需要用到 QtWebkit 时,需要在编译 QT 源码的时候,在./configure 加上 –webkit,在编译下载后可任意编辑自己的应用程序时,需要在 .pro 文件加上 QT+=webkit ,或者直接改 Makefile 加上-lQWebkit,简单的 browser 程序如下:int main(int argc, char* argv[]){ QApplication app(argc,argv); QWebview *view = new QWebview (); view->setGeometry(0,0,1024,1000); view->load(QUrl("www.baidu.com")); view->show(); return app.exec();}3.通过键盘(遥控器)控制网页元素通过使用 QWebview,QWeb...