Frage

Ich habe eine „Startseite“ auf meiner Anwendung, die nur einen QWebView Widget ist die eine Seite von meinem Server herunterlädt.

Wenn der Benutzer auf einen Link klickt, würde ich es gerne in ihrem Standard-Browser öffnen, nicht in das Widget.

Gibt es eine Möglichkeit, dies mit QWebView zu tun? Oder sollte ich einen anderen Ansatz?

War es hilfreich?

Lösung

Just QWebPage nennen :: setLinkDelegationPolicy (QWebPage :: DelegateAllLinks) dann das Signal QWebView :: LinkClicked (const QUrl & url) zu einem Schlitz und in den Schlitz des Browsers auszuführen. Herausfinden, was der Standard-Browser ist, ist etwas komplizierter und hängt davon ab, welche Desktop der Benutzer ausgeführt wird. Die Umgebungsvariable BROWSER enthält oft die Standardeinstellung.

oder benutzen QDesktopServices :: Openurl [wie gnud vorgeschlagen in einem Kommentar]

Andere Tipps

Unter der Annahme, die Links sind externe, können Sie einfach anrufen QWebView :: setOpenExternalLinks (true) auf Ihrem QWebView Widget. Die Eigenschaft ist falsch standardmäßig; Einstellung auf true bewirkt, dass externe Links in Ihrem Standard-Webbrowser öffnen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top