Comment mettre en surbrillance les boutons dans une barre d'outils GTK

9

J'ai écrit une application en utilisant Python et Glade. L'application a une barre d'outils avec un fond sombre et chaque bouton de la barre d'outils a une image personnalisée (c'est-à-dire qu'aucune icône boursière n'est utilisée).

J'ai remarqué que lorsque vous utilisez des icônes boursières au lieu d'images personnalisées comme icônes, chaque fois que la souris survole le bouton, le bouton est mis en surbrillance, ce qui ne se produit pas avec mes images personnalisées.

Thunderbird semble aller plus loin et plutôt que de mettre en évidence les icônes, il inverse leur couleur, ce qui fonctionne assez bien pour un thème sombre (voir ci-dessous):

Bouton non surligné, couleur normale

entrez la description de l'image ici

Bouton en surbrillance en survol, couleur inversée

entrez la description de l'image ici

Comment puis-je mettre mes images d'icônes personnalisées ou les boutons en surbrillance en survol?

David Planella
la source
Pouvez-vous fournir un exemple où il échoue? C'est probablement un problème de thème, ou plus probablement un bogue GTK +, si cela ne fonctionne pas seulement, et que vous ne collez pas simplement des images dans la barre d'outils, plutôt que des boutons.
dobey
Le code se trouve sur code.launchpad.net/qreator . J'ai revérifié et la barre d'outils utilise des boutons. La seule chose que je fais est de charger des images pour les icônes, pour autant que je sache. Cela vaut également la peine d'être mentionné: bazaar.launchpad.net/~dpm/qreator/trunk/view/head:/qreator/…
David Planella
Je pense que vous devriez supprimer ce code. Il semble que Gtk2 ait rapidement ajouté quelque chose pour faire les trucs géniaux de la barre d'outils.
dobey
Je l'ai en fait ajouté après avoir lu askubuntu.com/questions/67362/… - vous l'utilisiez pour l'interface utilisateur GTK Ubuntu One. Le faisiez-vous différemment?
David Planella
L'ancien panneau de contrôle GTK + U1 était Gtk2, et tout changement de couleur a été effectué avec des widgets personnalisés qui suivaient certaines choses du thème. Nous n'utilisions pas ce bout de code, j'en suis certain. Toute barre d'outils à l'emplacement normal dans une application Gtk dans Gtk3 devrait simplement fonctionner de la manière que vous attendez.
dobey

Réponses:

2

Le problème est lié au thème Ambiance. Il y a un point culminant, mais la couleur d'arrière-plan pour le pré-éclairage est plus sombre. Si Thunderbird montre un léger reflet et inverse les couleurs des icônes, c'est parce qu'il utilise des widgets personnalisés dans XUL (qui n'est pas Gtk +), qui ne suivent pas le GTK + ou les thèmes d'icônes, pour tout.

dobey
la source
Je suppose que je vais devoir déposer un bug contre Ambiance, merci @dobey pour le pointeur!
David Planella