Question

Dans la « boîte À propos » de mon logiciel, j'ai utilisé un QGraphicsTextItem pour montrer le texte au sujet.

Ce texte contient des liens hypertextes (sous forme de: <a href="http://some.random.site">link</a>).

L'élément apparaît correctement (liens hypertextes sont bleus et soulignés). Cependant, lorsque je clique sur eux, rien ne se passe.

Voici comment j'ai créé le QGraphicsTextItem:

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

Si je comprends bien le documentation Qt , l'appel à setTextInteractionFlags devrait me permettre de gérer les liens hypertextes spéciaux cliquez sur les événements.

Y at-il autre chose que je dois faire pour être en mesure de cliquer sur les liens et afficher la page liée dans le navigateur par défaut du système?

Était-ce utile?

La solution

J'ai trouvé ce que je fait de mal:

Mon contenant QGraphicsView avait setInteractive() ensemble à false. Je l'ai supprimé et depuis maintenant, il fonctionne très bien.

Autres conseils

FWIW J'utilise la norme QMessageBox :: sur la méthode et passer simplement HTML brut comme le texte -. Liens beau travail

QMessageBox::about(this, tr("About"), tr("<h1>My App</h1><p><a href='www.stackoverflow.com'>Click me!</a></p>"));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top