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?

È stato utile?

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>"));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top