Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 09-04-2019 20:49:42

calixtus06
Membre
Distrib. : Librazik2
Noyau : Linux version 4.9.0-6-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

PYTHON Tkinter iconbitmap et linux

Hello, après avoir lancer un sujet qui m'a dépassé. Je reviens en arrière dans les bases de tkinter. Ce matin j'étais sur ce cours :

[video=youtube;N4M4W7JPOL4]https://www.youtube.com/watch?v=N4M4W7JPOL4[/video]

et je bute rapidement sur la modification de l'icône de la fenêtre en haut à gauche.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from tkinter import *


fenetre=Tk()
fenetre.title( "ma fenêtre")
fenetre.geometry("1000x760") # attention x est différent de *
fenetre.iconbitmap("logo.xpm")

#icone = PhotoImage(file='/home/nicolas/Bureau/OPENCLASSROOM/logo.gif')
#fenetre.iconphoto(True, icone)


fenetre.mainloop()



Je fouille sur le net, trouve qu'effectivement linux préfère les gif, xpm ,xbm aux ico de microsoft..

Mon logo qui se trouve dans le même répertoire que mon script n'est pas "défini"  (??)

Traceback (most recent call last):
  File "tkinter graven.py", line 10, in <module>
    fenetre.iconbitmap("logo.xpm")
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1728, in wm_iconbitmap
    return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "logo.xpm" not defined
 



J'essaie de bien réduire mon gif et tente de suivre d'autres conseils:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from tkinter import *


fenetre=Tk()
fenetre.title( "ma fenêtre")
fenetre.geometry("1000x760") # attention x est différent de *
#fenetre.iconbitmap("logo.xpm")

icone = PhotoImage(file='/home/nicolas/Bureau/OPENCLASSROOM/logo.gif')
fenetre.iconphoto(True, icone)


fenetre.mainloop()



fenetre s'ouvre sans mon logo .

Quelqu'un aurait t il de quoi m'éclaire ?

Merci encore

Nico


Il n'y a pas de mauvaises questions...

Hors ligne

#2 10-04-2019 08:24:06

David5647
Membre
Distrib. : Debian Buster
Noyau : 4.17.0-3-amd64
(G)UI : KDE/i3wm
Inscription : 27-08-2017

Re : PYTHON Tkinter iconbitmap et linux

yop,

désolé que le sujet t'ai dépassé, je te proposais mon code surtout pour illustrer la structure,
mais a priori c'est résolu non?

pour ton problème :
iconbitmap ne lis que les fichiers .ico (d'après ce que j'ai lu, je n'ai jamais utilisé cette fonction)
Tu peux essayer de convertir ton image en .ico par je ne sais trop quel moyen, ou utiliser une autre fonction.
pour ma part, pour ne pas me compliquer avec les formats j'utilise la bibliothèque Pillow (nommée PIL à l'import)

import Tkinter as tk        
from PIL import ImageTk, Image

root = tk.Tk()

#On ouvre l'image avec Image de Pillow
img_pillow = Image.open("app.png")
# On la converti en image tkinter avec ImageTk
img_tkinter = ImageTk.PhotoImage(img_pillow)

#Et on affiche
imglabel = Label(root, image=img_tkinter).grid(row=1, column=1)        

root.mainloop()



ça devrait te permettre d'ouvrir un tas de format, les formats lus par pillow :
https://pillow.readthedocs.io/en/stable … rmats.html

Dernière modification par David5647 (10-04-2019 09:07:54)

Hors ligne

Pied de page des forums