各位大虾,我们的程序在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这样的方法。