Qt 发出newViewRequested信号时在外部浏览器中打开URL
我使用WebEngineView QML类型来显示需要在新选项卡中打开某些链接的网页。链接是这样的Qt 发出newViewRequested信号时在外部浏览器中打开URL,qt,browser,qml,qt5,qtwebengine,Qt,Browser,Qml,Qt5,Qtwebengine,我使用WebEngineView QML类型来显示需要在新选项卡中打开某些链接的网页。链接是这样的 <a href="http://google.com" target="_blank">Go to google in new tab</a> 我想在外部浏览器中打开的URL,但没有可用于Qt.openUrlExternal(request.URL)的“URL”属性 webengineewviewrequest有一个私有成员,不能作为qml中的属性访问。 如何处理该问
<a href="http://google.com" target="_blank">Go to google in new tab</a>
我想在外部浏览器中打开的URL,但没有可用于Qt.openUrlExternal(request.URL)
的“URL”属性
webengineewviewrequest
有一个私有成员,不能作为qml中的属性访问。
如何处理该问题,获取URL并在外部浏览器中打开它。
谢谢。在Qt5中,您可以使用信号来实现这一点:
onNavigationRequested: function(request) {
if (request.navigationType === WebEngineNavigationRequest.LinkClickedNavigation) {
Qt.openUrlExternally(request.url)
}
request.action = WebEngineNavigationRequest.IgnoreRequest
}
将IgnoreRequest
分配给action
属性的一行是确保URL未在WebEngineView中打开