tkinter TclError: erreur de lecture du fichier bitmap
Je suis en train de mettre une icône d'application (python3 /tkinter) comme ceci:
Interface()
root.title("Quicklist Editor")
root.iconbitmap('@/home/jacob/.icons/qle_icon.ico')
root.resizable(0, 0)
root.mainloop()
peu importe ce que je fais, je reçois un message d'erreur (en veille), en disant:
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: error reading bitmap file "/home/jacob/.icons/qle_icon.ico"
Ce que je fais mal?
Je crois que la
...merci! malheureusement ne fonctionne pas non plus, a également essayé .png
Question stupide: Est votre icône en fait à /home/jacob/.les icônes/qle_icon.ico? 😉
certainement pas une question stupide, et j'ai vérifié plusieurs fois, comme l'un commence à douter de oneselves quand les choses ne fonctionnent pas...
.ico
fichier ne fonctionnera pas pour cela(du moins sur linux). Essayez d'utiliser un .xbm
ou .xpm
fichier à la place....merci! malheureusement ne fonctionne pas non plus, a également essayé .png
Question stupide: Est votre icône en fait à /home/jacob/.les icônes/qle_icon.ico? 😉
certainement pas une question stupide, et j'ai vérifié plusieurs fois, comme l'un commence à douter de oneselves quand les choses ne fonctionnent pas...
OriginalL'auteur Jacob Vlijm | 2012-06-24
Vous devez vous connecter pour publier un commentaire.
Le problème n'est pas le code, mais l'icône. J'ai essayé de créer un
xbm
avec un autre programme que Gimp (certains KDE icône de l'éditeur), et bien qu'il semble terriblement laid, il affiche une icône.Je suppose que je dois trouver un créateur qui donne un "compréhensible" icône pour mon programme Python.
Modifier
La
iconbitmap
méthode s'est avéré être en noir et blanc uniquement, de sorte qu'il était inutile après tout.Après une longue recherche, j'ai trouvé la solution pour définir la couleur d'une icône d'application pour Python 3 (sur Linux). Je l'ai trouvé ici:
im essayant de faire cela, mais je suis de cette " Traceback (most recent call last): File "C:\Python27\Calc.pyw", la ligne 58, in <module> img = PhotoImage(file='icône!.ico') Fichier "C:\Python27\lib\lib-tk\Tkinter.py" de ligne, le 3244, dans init de l'Image.__init__(self, 'photo', nom, cnf, master, **kw) Fichier "C:\Python27\lib\lib-tk\Tkinter.py" de ligne, 3200, dans init auto.les savoirs traditionnels.appelez le(('image', 'create', imgtype, le nom, l') + options) TclError: impossible de reconnaître les données dans un fichier d'image "icône!.ico"'
La documentation de
Tkinter.PhotoImage
dit qu'il n'accepte que lesgif
ouPPM/PGM
formaté images. Sur une machine linux, il a travaillé pour moi avec un.gif
, mais pas un.png
.fonctionne sur windows avec un
.png
trop. utilisez PIL oreiller-2.5.1-win32-py27.Vous devriez être en utilisant
root.iconphoto(True, img)
, plutôt que de l'appel aux savoirs traditionnels.OriginalL'auteur Jacob Vlijm
C'est une vieille question, et il y a beaucoup de choses écrites à ce sujet sur le web, mais il est incorrect ou incomplet, de sorte d'avoir eu à le faire fonctionner j'ai pensé qu'il serait bon d'enregistrer mon code de travail effectif ici.
Tout d'abord, vous aurez besoin de créer une icône et l'enregistrer dans deux formats: Windows (ico" et Unix "xbm". 64 x 64 est une bonne taille. XBM est un 1-bit format--pixels seulement sur on ou off, donc pas de couleurs, pas de gris. Linux implémentations de tkinter seulement accepter XBM, même si à chaque poste de travail Linux prend en charge réelle des icônes, de sorte que vous êtes juste hors de la chance. Aussi, le XBM spec est ambigu si la "sur les" bits représentent le noir ou le blanc, donc vous pouvez avoir à inverser la XBM pour certains ordinateurs de bureau. Gimp est bon pour la création de ces.
Puis mettre l'icône dans votre barre de titre, l'utilisation de ce code (Python 3):
Ce que l'enfer, est-ce la vraie vie? Les savoirs traditionnels sur Linux prend uniquement en charge les déchets des icônes? Et en bonus, il ne prend pas en charge native de Gtk ou qt widgets. Comment est ce que quelqu'un censé prendre au sérieux en tant que bibliothèque d'interface graphique?
Sur Linux ça ne marche pas. Pouvez-vous mettre à jour?
Vous aurez à me donner un shitload plus d'informations que cela. Comme point de moi votre code et votre fichier d'icône.
OriginalL'auteur Lee Daniel Crocker
J'ai essayé cela, et je ne pouvais pas le faire fonctionner à l'aide de Windows 7.
Trouvé une solution.
Utilisation de Jacob réponse, mais le fichier doit être un
.gif
si vous êtes à l'aide de mon OS (Windows 7), il apparaît.Faire un 64x64 gif à l'aide de MS paint, enregistrer, utilisez le chemin d'accès au fichier et de bingo, des œuvres.
OriginalL'auteur Micrified
Cela vous permettra d'utiliser le format PNG fichiers sous forme d'icônes, et il ne le rendu des couleurs. Je l'ai testé sur Xubuntu 14.04 32 bits avec Python 3.4 (
root
est votreTk
objet):(Programme de recherche d'répertoire est important si vous voulez la recherche d'
test.png
dans le même emplacement dans tous les contextes.os.path.join
est une croix-plate-forme de manière à ajoutertest.png
sur le répertoire du programme.)Si vous changez de True à False, alors il ne sera pas utiliser la même icône pour windows qui ne sont pas la principale.
S'il vous plaît laissez-moi savoir si cela fonctionne sur Windows et Mac.
OriginalL'auteur Shule