qt webkit库,qt开发web

  qt webkit库,qt开发web

  页面缓存刷新可以做什么(四)——实现本地某个东西和Java脚本语言交互 中文-英特尔软件网络

  页面缓存刷新可以做什么(四)——实现本地某个东西和Java脚本语言交互作者:程大位程大伟(英特尔)(38篇文章)

  日期:六月9, 2010 在12:21 下午上一篇我们了解了如何在内核中创建含有网内容的本地应用。这一篇我们将实现Java脚本语言和本地的某个东西的交互。在阅读本篇之前需要对夸脱的信号和槽机制和Java脚本语言有简单的了解。

  夸脱本地对象和Java脚本语言交互分为三个步骤

  将本地某个东西暴露给内核和Java脚本语言将本地某个东西的信号和Java脚本语言的槽连接起来通过Java脚本语言调用本地某个东西的槽

  也就是第一步和第2步结合起来实现本地某个东西的信号和Java脚本语言的槽连接

  第一步和第3步结合起来实现通过Java脚本语言调用本地某个东西的槽

  下面我们就分别看一下第1、2、3步分别如何实现的。

  1、将本地某个东西暴露给网络工具包。主要分为以下几个步骤。

  新建一个QObject,命名为simpleQObject,包含信号和槽。其头文件如下:#包含Qt core/Q object #包含Qt core/QMap #包含Qt core/QString #包含Qt core/Q variant类sampleq对象:public Q对象{ Q _ object public:sampleq对象(Q对象* parent=0);信号:/*声明q对象信号*/void信号(QMap QString,QVariant对象);公共插槽:/*声明QObject slots */QMap QString,返回的q variant slot(const QMap QString,q variant object);//QObject的槽,用来返回字符串void slotThatEmitsSignal();//QObject的槽,用来发射信号,并且记录发射次数private:int m _ signal发出;QMap QString,q variant m _ returnObjectQMap QString,q variant m _ emit signal };创建实现函数主窗口. h和主窗口. cpp。主窗口。h代码如下# include qmain窗口# include 示例qobject。h "类主窗口:public Q main window { Q _ object public:main window(Q widget * parent=0);~主窗口();专用插槽:/*声明将某个东西暴露给页面缓存刷新的函数*/void add JavaScript object();protected:void change事件(QEvent * e);private:Ui:主窗口* Uisample qobject * m _ sample qobject };主窗口。卡片打印处理机(Card Print Processor的缩写)关键代码如下: //当网页被载入或者刷新时,将暴露给内核的某个东西和webkit JavaScript连接connect(ui-webView-page()-mainFrame(),SIGNAL(JavaScript windowobjectcleared()),this,SLOT(add JavaScript object());void主窗口:add JavaScript object(){//添加JavaScript对象函数的实现:将simpleQObject和webkit JavaScript连接this-ui-webView-page()-mainFrame()-addToJavaScriptWindowObject( sampleQObject ,this-m _ sampleQObject);} 2.将本地某个东西的信号和Java脚本语言的槽连接起来

  如何发射某个东西信号信号:空信号(QMap QString,QVariant对象);public slots:void slotthamitsignal();/*此插槽用于发出信号并计算发出次数*/void示例q object:slotThatEmitsSignal(){ qDebug()示例q object:slotThatEmitsSignal ;这-m _信号发射;/*计数发出次数*/this-m _ emit信号。clear();this-m _ emit信号[ signal semited ]=q变量(this-m _ signal emitted);this-m _ emit signal[ sender ]=q variant( sample q object:slotThatEmitsSignal );qDebug() sampleq object:slotthamitssignal this-m _ emit信号;/* 发射信号*/发射信号(this-m _ emit信号);} JavaScript槽的实现$(文档)。ready(function() {try {/*将样本对象的信号和Java Script语言插槽连接起来*/sampleq对象。信号。连接(插槽);/* 当simpleQObject发射信号时调用Java脚本语言的槽*/sampleq对象。slotthatemitssignal();} catch(e){ alert(e);}});/*插槽函数将会输出SimpleQObject发出了信号?times */函数slot(object){ var object string=object。发件人已发出对象。“信号”次信号;alert(对象字符串);}运行应用程序。

  当点击刷新时,弹出新的对话框:

  3.通过Java脚本语言调用本地某个东西的槽

  Java脚本语言信号发射请尝试{ var object={ int value:1 };/* 声明一个Java Script语言对象并用simpleQObject的槽的返回值赋值它*/var返回的对象=sampleqobject。slotthattreturns(对象);/* 输出一增加了奖金*/alert(返回的对象。字符串值);} QObject槽函数QMap QString,q variant sampleq object:slotthatrells(const QMap QString,q variant object){ qDebug() sampleq object:slotthatrells ;this-m _ return对象。clear();this-m _ return对象。unite(对象);QString added bonus=QString:number(object[ int value ].toInt(),10).追加(附加奖金);this-m _ return object[字符串值]=q variant(附加奖金);qDebug() sampleq object:slot,它返回 this-m _ return对象;返回this-m _ return对象;//返回m _返回对象包含有字符串一额外奖励}运行应用程序

  本例子代码下载地址:http://http://software.intel.com/file/28112

  注:本例子中部分代码来自wiki.forum.nokia.com

  http://维基。论坛。诺基亚。com/index。PHP/exposure _ q objects _ to _ Qt _ Webkit

  下一篇我们将探索一下如何将S60下的网运行时小部件移植至夸脱的内核上来,如今的慧锐通部件只能依赖于S60的os,如果港口只夸脱的网络工具包,那么将可以实现广泛开发者梦寐已久的跨平台功能。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • web项目发布到tomcat,怎么用tomcat启动web项目
  • web项目发布到tomcat,怎么用tomcat启动web项目,在Tomcat中部署Web项目的操作方法(必看篇)
  • web设置session超时时间,ajax解决session超时
  • web服务器安全配置说明文档下载,web服务器安全配置说明文档在哪
  • web服务器安全配置说明文档下载,web服务器安全配置说明文档在哪,WEB服务器安全配置说明文档
  • webservice如何使用,webservice入门教程
  • webservice如何使用,webservice入门教程,WebService教程详解(一)
  • webqq网页版登录入口,web版qq登录
  • webqq网页版登录入口,web版qq登录,WebQQ最新登陆协议的用法
  • webpack的plugins和loaders的实现原理,webpack plugin原理
  • webpack的plugins和loaders的实现原理,webpack plugin原理,深入webpack打包原理及loader和plugin的实现
  • webapp和原生app的区别,原生app和web app
  • webapp和原生app的区别,原生app和web app,web app与原生app的区别
  • web 前端图片懒加载实现原理,实现图片懒加载的三种方式
  • web 前端图片懒加载实现原理,实现图片懒加载的三种方式,前端必会的图片懒加载(三种方式)
  • 留言与评论(共有 条评论)
       
    验证码: