我在我的应用程序上有一个“起始页面”,它只是一个从我的服务器下载页面的QWebView
小部件。从QWebView打开外部浏览器
当用户点击链接时,我希望它在默认浏览器中打开,而不是在小部件中打开。
有没有办法做到这一点QWebView
?或者我应该采取不同的方法?
我在我的应用程序上有一个“起始页面”,它只是一个从我的服务器下载页面的QWebView
小部件。从QWebView打开外部浏览器
当用户点击链接时,我希望它在默认浏览器中打开,而不是在小部件中打开。
有没有办法做到这一点QWebView
?或者我应该采取不同的方法?
只需调用QWebPage :: setLinkDelegationPolicy(QWebPage :: DelegateAllLinks),然后将信号QWebView :: linkClicked(const QUrl & url)连接到一个插槽,并在插槽中执行浏览器。 查找默认浏览器的内容稍微复杂一些,取决于用户正在运行的桌面。环境变量BROWSER通常包含默认值。
假设链接是外部[由gnud在评论建议],你可以叫QWebView::setOpenExternalLinks(true)您QWebView部件。该属性默认为false;将其设置为true会导致在默认Web浏览器中打开外部链接。
要打开浏览器,请使用QDesktopServices :: openUrl - http://doc.trolltech.com/4.5/qdesktopservices.html#openUrl – gnud 2009-04-12 22:00:44