質問

私は私のサーバーからページをダウンロードだけQWebViewウィジェットで自分のアプリケーション上で、「スタートページ」を持っています。

ユーザーがリンクをクリックすると

私はそれが彼らのデフォルトのブラウザでは、ないウィジェットで開きたいと思います。

QWebViewでこれを行う方法はありますか?または私は別のアプローチを取る必要がありますか?

役に立ちましたか?

解決

ちょうどそのスロットに信号QWebView :: linkClicked(のconst QUrl&URL)を接続QWebPage :: setLinkDelegationPolicy(QWebPage :: DelegateAllLinks)を呼び出して、スロットにブラウザを実行します。 デフォルトのブラウザが何であるかを見つける、やや複雑であり、ユーザが実行しているデスクトップに依存します。環境変数ブラウザは、多くの場合、デフォルトが含まれています。

または使用 QDesktopServices :: OpenURLのの[gnudによって示唆されているようにコメントに]

他のヒント

リンクは外部にあると仮定すると、あなただけ呼び出すことができます QWebView :: setOpenExternalLinksあなたのQWebViewウィジェット上の(真の)の。プロパティは、デフォルトではfalseです。これをtrueに設定すると、外部リンクがデフォルトのWebブラウザで開くようになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top