Come fare un cliccabile QGraphicsTextItem?
-
26-09-2019 - |
Domanda
Nel "dialogo About" del mio software, ho usato un QGraphicsTextItem
per mostrare il dietro-testo.
Questo testo contiene collegamenti ipertestuali (sotto forma di: <a href="http://some.random.site">link</a>
).
Gli spettacoli voce in modo corretto (collegamenti ipertestuali sono blu e sottolineato). Tuttavia, quando si fa clic su di essi, non succede nulla.
Ecco come ho creato il QGraphicsTextItem
:
d_about_text_item = new QGraphicsTextItem;
d_about_text_item->setTextInteractionFlags(Qt::TextBrowserInteraction);
d_about_text_item->setHtml(aboutText());
Per quanto ho capito il Qt documentazione , la chiamata a setTextInteractionFlags
dovrebbe permettere a me di gestire i collegamenti ipertestuali speciali cliccare eventi.
C'è qualcos'altro che devo fare per essere in grado di fare clic sui link e mostrare la pagina collegata nel browser di sistema predefinito?
Soluzione
Ho trovato quello che ho fatto di sbagliato:
Il mio QGraphicsView
contenente aveva messo setInteractive()
a false
. Ho rimosso e dato che ora, funziona benissimo.
Altri suggerimenti
FWIW Io uso il QMessageBox serie :: sul metodo e semplicemente passare HTML grezzo come il testo -. Bel link di lavoro
QMessageBox::about(this, tr("About"), tr("<h1>My App</h1><p><a href='www.stackoverflow.com'>Click me!</a></p>"));