icônes thème du système et PyQt4
Question
J'écris un programme de base en python utilisant le module PyQt4. Je voudrais être en mesure d'utiliser pour des choses comme l'icône de la boîte de dialogue des préférences de mon thème système icônes, mais je ne sais pas comment faire. Donc, ma question est, comment obtenez-vous l'emplacement d'une icône, mais assurez-vous qu'il change avec le thème de l'icône du système? S'il importe, je développe cette sous ubuntu 9.04, donc je suis en utilisant le bureau Gnome.
La solution
Malheureusement, il semble que Qt ne supporte pas les icônes pour obtenir un thème spécifique. Il y a plusieurs façons de le faire pour KDE et Gnome.
La façon dont KDE est très élégant, ce qui est logique étant donné que Qt est la boîte à outils de KDE. Au lieu d'utiliser la QIcon de classe PyQt4.QtGui, vous utilisez plutôt le iconek de classe PyKDE4.kdeui. Un exemple de ceci est:
from PyKDE4.kdeui import *
icon = KIcon("*The Icon Name*")
voir la documentation PyKDE pour cette classe, .
Une façon d'obtenir un soutien pour cela pour gnome est d'utiliser le package gtk python. Il est pas aussi belle que le chemin de kde, mais cela fonctionne pas moins. Il peut être utilisé comme ceci:
from PyQt4 import QtGui
from gtk import icon_theme_get_default
iconTheme = icon_theme_get_default()
iconInfo = iconTheme.lookup_icon("*The Icon Name*", *Int of the icon size*, 0)
icon = QtGui.QIcon(iconInfo.get_filename())
Consultez la documentation icône Thème classe et Iconos classe .
EDIT: Merci pour la correction de CesarB
Autres conseils
Utilisez la classe PyKDE4 iconek:
J'ai passé une bonne quantité de recherches sur moi-même il n'y a pas longtemps, et ma conclusion est que, malheureusement, Qt ne fournit pas cette fonctionnalité de manière multi-plateforme. Idéalement, la classe QIcon aurait par défaut pour ouvrir le fichier, sauf, « + », « - »., Préférences, etc., mais étant donné qu'il ne vous faudra pas saisir l'icône appropriée pour votre environnement de bureau