Como hacer un hacer clic QGraphicsTextItem?
-
26-09-2019 - |
Pregunta
En la "caja Acerca de" de mi software, que utiliza un QGraphicsTextItem
para mostrar el texto sobre.
Este texto contiene enlaces de hipertexto (en la forma de: <a href="http://some.random.site">link</a>
).
Los espectáculos de artículos correctamente (enlaces de hipertexto son de color azul y subrayado). Sin embargo, al hacer clic sobre ellos, no pasa nada.
Aquí es cómo creé el QGraphicsTextItem
:
d_about_text_item = new QGraphicsTextItem;
d_about_text_item->setTextInteractionFlags(Qt::TextBrowserInteraction);
d_about_text_item->setHtml(aboutText());
A mi entender la Qt documentación , la llamada a setTextInteractionFlags
debería permitir que me ocupe de enlaces de hipertexto especiales eventos de clic.
¿Hay algo más que debería hacer para ser capaz de hacer clic en los enlaces y mostrar la página del enlace en el navegador por defecto del sistema?
Solución
He encontrado lo que hice mal:
Mi QGraphicsView
contiene tuvo conjunto setInteractive()
a false
. Lo quité y desde ahora, trabaja muy bien.
Otros consejos
Fwiw uso el estándar QMessageBox :: sobre el método y simplemente pasar el HTML puro como el texto -. Fina vínculos de trabajo
QMessageBox::about(this, tr("About"), tr("<h1>My App</h1><p><a href='www.stackoverflow.com'>Click me!</a></p>"));