从C++访问QML WebView

weixin_38083228 2019-09-12 03:23:55

我有一个带有webview的qml文件。 我在C++中获得对该对象的引用,但是是QObject * 我可以将它转换为类似于QWebView的东西,从中我可以获得QWebPage对象,等等? qobject_cast <>如果我尝试QWebView,则返回NULL。 它与铸造到QQuickItem,但这并没有真正帮助我很多。 谢谢






...全文
50 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38085655 2019-09-12
  • 打赏
  • 举报
回复

你不能。 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”);

435

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧