我是新建的,什么我想要做的是:

  1. 创建一个Linux的应用程序使用的脱框架。
  2. 这个应用程序显示一些网页的网络。
  3. 我想要延长JavaScript API访问的一些设备和装置为基础的数据,这意味着一些可控制设备的使用JavaScript在其.

但我怎么添加一些自定义功能/类其在脱?

有帮助吗?

解决方案

幸运的是,存在着一些文件,最后: http://doc.qt.io/qt-4.8/qtwebkit-bridge.html

其他提示

我已经做了一QWebKit项目,其中我建立之间的桥梁Javascript and C++编码。

实现这个我用的方法:

this->page()->mainFrame()->addToJavaScriptWindowObject( "god", this );

这可以让你执行方法的对象传递给addToJavaScriptWindowObject作为第二种参数,从Javascript,使用对象规定作为第一个参数。

这里有一个例子:

class Browser : public QWebView
{
     Q_OBJECT
     public:
         Browser( QWidget* parent=0 )
         {
            connect( this->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()),    this,   SLOT(onJavaScriptWindowObjectCleared()) );
         }

     public slots:
         void onJavaScriptWindowObjectCleared()
         {
          //   QString script = "console.log('init!');";
          //   this->page()->mainFrame()->evaluateJavaScript( script );
         }

         void onChange()
         {
             qDebug() << "Browser::onChange()";
         }
 }

然后,从Javascript我可以这样做:

$('input:text').keydown( god.onChange );

所以每次我按一个关键输入框,上帝。菜单选择变化()是执行其执行浏览器::菜单选择变化()隙。

这种方式避免延伸JS api。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top