Dans mon application QT, j'aimerais utiliser des ballons / ballons-astuces comme indiqué dans le Guide de l'expérience utilisateur Windows (pas les ballons de plateau système). P>
est-ce pris en charge par qt? Je n'ai rien trouvé. Y a-t-il une bibliothèque open source là-bas pour cela (Qxt ne l'a pas)? Quelle est la meilleure façon de créer cela moi-même? P>
3 Réponses :
Rechercher QballOonTip CODE> Classe (dans la documentation QT (référence DOXYGEN) et la base de code, regardez la manière dont elle est implémentée et utilisez une technique similaire. P>
Sauf que qballoontep code> est une classe interne définie dans src / gui / utils / util / qsystemtrayicon_p.h code> et ne faisant pas partie de l'API publique et documentée.
Qt 4.7 Assistant ne connaît pas cette classe. Une recherche Google affiche cette classe interne utilisée par Qsystemtrayicon et ne fait pas partie de l'API. Êtes-vous sûr que c'est la classe que je cherche?
Vous pouvez utiliser QT 5: P>
qt 4: p>
Vous pouvez modifier le code source de cette classe pour avoir la pointe de la ballonnette souhaitée. P> P> qballoontep code> qui est une classe interne définie dans:
qtdir / src / qtbase / src / widgets / util / qsystemtrayicon_p.h code> p> li>
qtdir / src / gui / utils / util / qsystemtrayicon_p.h code> p> li>
ul> qballoontep code> hérités qwidget code> et il est implémenté dans qsystemtrayicon.cpp code> dans le même répertoire. Il a la méthode suivante pour montrer une astuce de ballon: p>
Pour utiliser la classe privée 1) Ajouter 2) Appelez ensuite la méthode statique qbaloonTip code> dans qt 5.12 Vous devez procéder comme suit: p>
qt + = widgets-privé code> à votre fichier pro pour pouvoir inclure des en-têtes privés P>
#include showballon () code> ou instanciez-le et appelez Balon () code>. Mais ce n'est vraiment que pour le plateau système et c'est une API privée, qui peut changer à tout moment. Personnellement, je ne l'utiliserais pas. Mais si vous voulez savoir comment il est rendu, consultez https://code.woboq.org/qt5/qtbase/src/widgets/util/qsystemtrayicon.cpp.html#_zn11qballOonTip10painteetep1paintPaintevent P>
À ma connaissance, rien ne construit dans QT qui le fera. Je les voulais avant et fini par écrire un widget personnalisé de zéro pour le faire.
A-t-il fonctionné de manière satisfaisante? Souhaitez-vous partager votre solution ou quelques idées?