Question

J'ai un « start page » sur ma demande qui est juste un widget QWebView qui télécharge une page de mon serveur.

Lorsque l'utilisateur clique sur un lien que je voudrais pour ouvrir dans leur navigateur par défaut, pas dans le widget.

Est-il possible de le faire avec QWebView? Ou devrais-je prendre une approche différente?

Était-ce utile?

La solution

Il suffit d'appeler QWebPage :: setLinkDelegationPolicy (QWebPage :: DelegateAllLinks) puis connectez le signal QWebView :: LinkClicked (const qurl & url) à une fente, et dans la fente exécuter le navigateur. Trouver ce que le navigateur par défaut est, est un peu plus complexe et dépend du bureau de l'utilisateur est en cours d'exécution. La variable d'environnement NAVIGATEUR contient souvent la valeur par défaut.

Ou utilisez QDesktopServices :: openURL [comme suggéré par GNUD dans un commentaire]

Autres conseils

En supposant que les liens sont externes, vous pouvez simplement appeler QWebView :: setOpenExternalLinks (true) sur votre widget QWebView. La propriété est faux par défaut; la mise à true, les liens externes à ouvrir dans votre navigateur Web par défaut.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top