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?

¿Fue útil?

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>"));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top