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.

Était-ce utile?

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

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top