2011-10-24 15 views
7

En mi aplicación Qt, me gustaría utilizar globos/puntas de globo como se muestra en el Windows user experience guide (no en los globos de la bandeja del sistema).Puntas de globo con Qt

¿Es esto compatible con Qt? No he encontrado nada. ¿Hay una biblioteca de código abierto para esto (Qxt no la tiene)? ¿Cuál es la mejor manera de crearlo yo mismo?

+0

Que yo sepa, no hay nada integrado en Qt que pueda hacer esto. Los he querido antes y terminé escribiendo un widget personalizado desde cero para hacerlo. – Chris

+0

¿Funcionó satisfactoriamente? ¿Te importaría compartir tu solución o algunas ideas? –

Respuesta

-1

Buscar QBalloonTip clase (en la documentación de Qt (referencia doxygen) y la base de código, mira cómo se implementa, y utilizar una técnica similar

+1

Excepto que 'QBalloonTip' es una clase interna definida en' src/gui/utils/util/qsystemtrayicon_p.h' y que no forma parte de la API pública y documentada. – alexisdm

+3

Qt 4.7 Assistant no conoce esta clase. Una búsqueda en Google muestra esta clase interna utilizada por QSystemTrayIcon y no como parte de la API. ¿Estás seguro de que esta es la clase que estoy buscando? –

0

Usted puede utilizar QBalloonTip que es una clase interna definida en:.

  • Qt 5:

    QtDir/Src/qtbase/src/widgets/util/qsystemtrayicon_p.h

  • Qt 4:

    QtDir/src/gui/utils/util/qsystemtrayicon_p.h

QBalloonTip hereda QWidget y que se implementa en qsystemtrayicon.cpp en el mismo directorio. Tiene el siguiente método para mostrar una sugerencia de globo:

void QBalloonTip::balloon(const QPoint& pos, int msecs, bool showArrow) 

Puede modificar el código fuente de esta clase para obtener la sugerencia de globo deseada.