使用结构/对象参数从QT调用JavaScript回调
问题描述:
我正在使用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
}
任何一个可以帮助我在这?
答
使用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/在我的要求
在这里,我不能修改的JavaScript功能,因为HTML应用程序是不是在我们的范围 – Anjana