从C++访问QML WebView
我有一个带有webview的qml文件。 我在C++中获得对该对象的引用,但是是QObject * 我可以将它转换为类似于QWebView的东西,从中我可以获得QWebPage对象,等等? qobject_cast <>如果我尝试QWebView,则返回NULL。 它与铸造到QQuickItem,但这并没有真正帮助我很多。从C++访问QML WebView
谢谢
回答:
你不能。 QML WebView元素没有公共C++ API。
您有两种方法来解决此问题:
- 使用私有API。首先,这种添加到.pro文件:
QT += quick quick-private webkit-private
然后包括私有头:
现在,您可以访问的WebView,只要你得到一个指向它(例如,通过使用QObject :: findChildren或通过将QObject *从QML传递给C++。为简单起见,我简单地假设WebView是根对象):
QQuickWebView * webView = dynamic_cast<QQuickWebView*>(viewer.rootObject()); qDebug() << webView->url();
使用通用的QObject API来访问的WebView属性:
的QObject * web视图= viewer.rootObject(); qDebug()< < webView-> property(“url”);
以上是 从C++访问QML WebView 的全部内容, 来源链接: utcz.com/qa/262889.html