Откройте внешний браузер из QWebView - PullRequest
4 голосов
/ 12 апреля 2009

В моем приложении есть "стартовая страница", которая представляет собой просто виджет QWebView, который загружает страницу с моего сервера.

Когда пользователь нажимает на ссылку, которую я хотел бы открыть в браузере по умолчанию, а не в виджете.

Есть ли способ сделать это с QWebView? Или я должен использовать другой подход?

Ответы [ 2 ]

13 голосов
/ 13 апреля 2009

Просто вызовите QWebPage :: setLinkDelegationPolicy (QWebPage :: DelegateAllLinks), затем подключите сигнал QWebView :: linkClicked (const QUrl & url) к слоту и в слоте выполните браузер. Узнать, что представляет собой браузер по умолчанию, немного сложнее и зависит от того, на каком компьютере работает пользователь. Переменная среды BROWSER часто содержит значение по умолчанию.

Или используйте QDesktopServices :: openUrl [как предложено gnud в комментарии]

0 голосов
/ 08 апреля 2015

Если ссылки являются внешними, вы можете просто вызвать QWebView :: setOpenExternalLinks (true) в своем виджете QWebView. По умолчанию свойство имеет значение false; установка его в значение true приводит к открытию внешних ссылок в веб-браузере по умолчанию.

...