Il y a mon ancien fil de discussion: comment créer un indicateur de travail avec Qt / C ++? où il m'a été suggéré d'utiliser la bibliothèque QSystemTray pour créer une icône de plateau dans Ubuntu pour mon application.
Sniqt est un programme qui s'occupe du reste. Comme on le sait, Ubuntu s'est débarrassé des icônes des plateaux. Au lieu de cela, il utilise désormais des indicateurs et uniquement des indicateurs. Sniqt convertit les icônes du plateau Qt en indicateurs de travail.
Le problème est qu'il ne fait pas une conversion très décente. Les actions comme le simple clic, le clic du milieu, etc. ne fonctionnent pas, alors qu'elles le font dans les systèmes qui prennent en charge les icônes de la barre d'état.
Existe-t-il un moyen de récupérer ces actions? Puis-je utiliser l'icône QSystemTray et avoir toujours ces actions intéressantes (et très utiles, à mon occasion) dans Ubuntu?
Je serais heureux de connaître la réponse à l'autre thread dont j'ai parlé plus tôt (comment créer un indicateur de travail en utilisant les bibliothèques GTK et éviter le plantage).
Lien pour le bogue Sniqt: https://bugs.launchpad.net/sni-qt/+bug/1027652
Réponses:
Il semble que Qt ne supporte pas cette chose, au moins sur Ubuntu Unity, même s'il a un signal «activé». Donc je vous recommanderais d'utiliser GTK et un plateau normal, je ne vois pas d'alternative avec Qt. Vous pouvez contacter les développeurs de Qt pour des éclaircissements à ce sujet.
la source
sniqt
. Je ne suis pas conscient que les indicateurs d'application ont même la capacité de différencier les clics gauche et droit. Cela a également été une source constante de frustration pour moi.Unity, par choix, ne prend pas en charge ce que vous appelez des "icônes de bac décent". Ce sont des indicateurs ou rien. De là, vous avez plusieurs options:
Faites avec les capacités d'indicateur limitées. Vous pouvez définir le menu qui sera utilisé par votre indicateur avec la méthode QSystemTray.setContextMenu () standard.
Détachez entièrement votre application du système. Comme dans, transformez-le en une icône flottante sur le bureau, qui pourra accepter les clics du milieu et du bouton droit comme Dieu et Matthias Ettrich le souhaitaient. Vous pouvez trouver un exemple simple de la façon de procéder ici: http://kde-apps.org/content/show.php/KEyes?content=51493 (Facultativement, faites-le uniquement lorsque vous détectez que vous exécutez sous Unity, c'est-à-dire si $ DESKTOP_SESSION est réglé sur 'ubuntu'.)
Déclarez Unity non pris en charge. Ce n'est pas une très bonne option.
Le choix de l'option 1 ou 2 dépend principalement de ce que fait votre application.
la source