質問

私のソフトウェアの「概要ボックス」で、私はおよそ-テキストを表示するためにQGraphicsTextItemを使用します。

このテキストは(の形で:<a href="http://some.random.site">link</a>)ハイパーテキストリンクが含まれています。

の項目が示すまで適切に(ハイパーテキストリンクは青色であり、下線部)。しかし、私はそれらをクリックすると、何も起こりません。

ここで私はQGraphicsTextItemを作成する方法です。

d_about_text_item = new QGraphicsTextItem;
d_about_text_item->setTextInteractionFlags(Qt::TextBrowserInteraction);
d_about_text_item->setHtml(aboutText());

私は Qtのドキュメントに、setTextInteractionFlagsへの呼び出しを理解したよう私は、イベントをクリックして、特殊なハイパーテキストリンクを処理できるようにする必要があります。

他にあり何が私がリンクをクリックして、デフォルトのシステムブラウザでリンク先のページを表示することができるようにすればいいですか?

役に立ちましたか?

解決

私は私が間違っていたものを見つけます:

マイ含むQGraphicsViewsetInteractive()falseセットを持っていました。私はそれを取り出して、今いるので、それが正常に動作します。

他のヒント

FWIW I標準QMessageBox ::方法についてを使用して、単にテキストとして生のHTMLを渡す - 。リンク作業罰金

QMessageBox::about(this, tr("About"), tr("<h1>My App</h1><p><a href='www.stackoverflow.com'>Click me!</a></p>"));
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top