QGraphicsTextItemのクリック可能にする方法?
-
26-09-2019 - |
質問
私のソフトウェアの「概要ボックス」で、私はおよそ-テキストを表示するために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
への呼び出しを理解したよう私は、イベントをクリックして、特殊なハイパーテキストリンクを処理できるようにする必要があります。
他にあり何が私がリンクをクリックして、デフォルトのシステムブラウザでリンク先のページを表示することができるようにすればいいですか?
解決
私は私が間違っていたものを見つけます:
マイ含むQGraphicsView
はsetInteractive()
に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>"));
所属していません StackOverflow