2017-06-14 80 views
0

我正在使用QT 5.5版本。使用結構/對象參數從QT調用JavaScript回調

我需要從結構/對象作爲參數從QT插件調用JavaScript回調函數。我無法修改HTML應用程序,因爲它不在我們的範圍內。

HTML程序代碼片段

var obj1 = document.getElementById('obj1_id'); //QT plugin object 1 
var obj2 = document.getElementById('obj2_id'); //QT plugin object 2 
obj2.init(obj1,callback); //QT API 
function callback(arg1) 
{ 
if (obj1 === arg1){ 
// SUCCESS 
else 
// FAILURE 
} 

QT插件的代碼片段

class::init(QWebElement obj, QString callback) 
{ 
    //need to Invoke callback with obj argument 
} 

任何一個可以幫助我在這?

回答

0

使用Qt信號和槽 -

在你的JavaScript函數 -

添加以下行 -

myoperation.alert_script_signal.connect(回調);

在Qt框架基於C++類 - 構造函數中添加以下行 -

註冊您的JavaScript回調 -

查看 - >頁面() - >框() - > addToJavaScriptWindowObject(「myoperation 「, 這個);

//現在調用該Qt類中某種方法的回調。

emit alert_script_signal();

你需要了解一件QtWebkit是這裏的平臺。所以,基本上,HTML,JavaScript在Qt Webkit上運行。

我有一些例子 - http://www.tune2wizard.com/linux-qt-callback-from-c-to-the-javascript-function/在我的要求

+0

在這裏,我不能修改的JavaScript功能,因爲HTML應用程序是不是在我們的範圍 – Anjana