在QML的Webview中如何获取底层C++的对象
各位大虾,我们的程序在QML中嵌入了Webview,QML代码如下
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上下文可以这样用:
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这样的方法。
--------------------编程问答-------------------- 自己顶,有没有大虾能指点下啊,跪谢!!! --------------------编程问答-------------------- 第一个问题 使用QML引用C++对象应该可以解决.你可以看些这篇教程:
http://blog.csdn.net/liuhongwei123888/article/details/6056338
第二个问题 我没有用过QWebkit 不太懂.不过qml可以通过发信号来执行C++的函数.
补充:移动开发 , Qt