各位大虾,我们的程序在QML中嵌入了Webview,QML代码如下
JScript code
import QtQuick 1.0
import QtWebKit 1.0
//import "./subcontents"
Rectangle {
width: 800
height: 480
WebView {
preferredWidth: 800
preferredHeight: 480
}
}
在QT下使用webview,把C++ object对象传给javascipt上下文可以这样用:
C/C++ code
Html5ApplicationViewerPrivate::Html5ApplicationViewerPrivate(QWidget *parent)
: QGraphicsView(parent)
{
//...
m_webView = new QGraphicsWebView;
m_pJSC = new JSCAdapter();
connect(m_webView->page()->mainFrame(),
SIGNAL(javaScriptWindowObjectCleared()), SLOT(addToJavaScript()));
}
void Html5ApplicationViewerPrivate::addToJavaScript()
{
if(NULL!=m_pJSC)
{
m_webView->page()->mainFrame()->addToJavaScriptWindowObject(QString("jsc"), (QObject*)m_pJSC);
}
}
这样在webview解析的javascript中就可以直接使用C++的对象m_pJSC了
在QML的webview中怎样实现类似QT的把C++ object对象传给javascipt上下文的方法。
QML的webview无法调用m_webView->page()->mainFrame()->addToJavaScriptWindowObject这样的方法。