我的应用程序上有一个“起始页”,它只是一个从我的服务器下载页面的QWebView
小部件。
当用户点击链接时,我希望它在默认浏览器中打开,而不是在小部件中打开。
有没有办法用QWebView
执行此操作?或者我应该采取不同的方法?
答案 0 :(得分:13)
只需调用QWebPage :: setLinkDelegationPolicy(QWebPage :: DelegateAllLinks),然后将信号QWebView :: linkClicked(const QUrl& url)连接到插槽,并在插槽中执行浏览器。 找出默认浏览器的内容稍微复杂一些,取决于用户运行的桌面。环境变量BROWSER通常包含默认值。
或使用QDesktopServices::openUrl [根据评论中的gnud建议]
答案 1 :(得分:0)
假设链接是外部链接,您只需在QWebView小部件上调用QWebView::setOpenExternalLinks(true)即可。该属性默认为false;将其设置为true会导致在默认Web浏览器中打开外部链接。