Wie man einen QGraphicsTextItem klickbare machen?
-
26-09-2019 - |
Frage
In der "About-Box" meine Software, habe ich eine QGraphicsTextItem
den über Text zu zeigen.
Dieser Text enthält Hypertext-Links (in Form von: <a href="http://some.random.site">link</a>
).
Die Position zeigt sich richtig (Hypertext-Links sind blau und unterstrichen). Allerdings, wenn ich auf sie klicken, passiert nichts.
Hier ist, wie ich die QGraphicsTextItem
erstellt:
d_about_text_item = new QGraphicsTextItem;
d_about_text_item->setTextInteractionFlags(Qt::TextBrowserInteraction);
d_about_text_item->setHtml(aboutText());
Als ich die Qt Dokumentation verstehen, der Aufruf von setTextInteractionFlags
sollte mir erlauben, spezielle Hypertext-Links klicken, Ereignisse zu behandeln.
Gibt es noch etwas sollte ich tun, der Lage sein, auf die Links klicken und die verknüpfte Seite im Standardsystem Browser angezeigt?
Lösung
fand ich, was ich falsch gemacht habe:
Meine enthält QGraphicsView
hatte setInteractive()
Set false
. Ich entfernte es und da jetzt, es funktioniert gut.
Andere Tipps
FWIW Ich verwende den Standard QMessageBox :: über Methode und einfach roh HTML als Text übergeben -. Links funktionieren
QMessageBox::about(this, tr("About"), tr("<h1>My App</h1><p><a href='www.stackoverflow.com'>Click me!</a></p>"));