5

我的应用程序上有一个“起始页”,它只是一个QWebView从我的服务器下载页面的小部件。

当用户点击一个链接时,我希望它在他们的默认浏览器中打开,而不是在小部件中。

有没有办法做到这一点QWebView?还是我应该采取不同的方法?

4

2 回答 2

14

只需调用 QWebPage::setLinkDelegationPolicy(QWebPage::DelegateAllLinks) 然后将信号 QWebView::linkClicked (const QUrl & url) 连接到插槽,并在插槽中执行浏览器。找出默认浏览器是什么,稍微复杂一些,并且取决于用户正在运行的桌面。环境变量 BROWSER 通常包含默认值。

或使用QDesktopServices::openUrl [如 gnud 在评论中建议的那样]

于 2009-04-12T21:43:00.247 回答
0

假设链接是外部的,您可以在 QWebView 小部件上调用QWebView::setOpenExternalLinks(true)。该属性默认为false;将其设置为 true 会导致外部链接在您的默认 Web 浏览器中打开。

于 2015-04-08T01:05:47.713 回答