Comment définir l'icône de la fenêtre dans Tkinter

  1. root.iconbitmap pour définir l’icône de la fenêtre
  2. tk.call('wm', 'iconphoto', ) Méthode pour définir l’icône de la fenêtre
  3. root.iconphoto pour définir l’icône de la fenêtre

Nous allons présenter des méthodes pour définir l’icône de la fenêtre dans Tkinter.

  1. root.iconbitmap pour définir l’icône de la fenêtre
  2. root.tk.call() pour définir l’icône de la fenêtre
  3. root.iconphoto pour définir l’icône de la fenêtre

root.iconbitmap pour définir l’icône de la fenêtre

import tkinter as tk
root = tk.Tk()

root.iconbitmap('/path/to/ico/icon.ico')
root.mainloop()

iconbitmap(bitmap) définit l’icône du widget window/frame à bitmap. Le bitmap doit être de type ico, mais pas de type png ou jpg, sinon l’image ne sera pas affichée comme icône.

Tkinter définit l'icône de la fenêtre

L’image ci-dessus montre quand le type ico est utilisé dans iconbitmap.

Si vous utilisez le type png, l’icône affichée dans la fenêtre sera vide,

Icône de la fenêtre du set Tkinter avec png

tk.call('wm', 'iconphoto', ) Méthode pour définir l’icône de la fenêtre

import tkinter as tk
root = tk.Tk()

root.tk.call('wm', 'iconphoto', root._w, tk.PhotoImage(file='/path/to/ico/icon.png')

root.mainloop()

La méthode tk.call est l’interface de Tkinter avec l’interpréteur tcl. Nous pourrions lancer une commande tcl en utilisant cette méthode call.

C’est pratique quand le wrapper de Tkinter ne peut pas avoir accès à certaines fonctionnalités de tcl/tk.

wm communique avec le gestionnaire de fenêtres.

Nous devons définir l’image comme tk.PhotoImage mais pas l’image elle-même, sinon nous aurons une erreur _tkinter.TclError.

root.iconphoto pour définir l’icône de la fenêtre

Une autre méthode pour définir l’icône de la fenêtre est d’utiliser la méthode root.iconphoto() qui accepte plus de types d’images comme dans tk.call('wm', 'iconphoto', ).

import tkinter as tk
root = tk.Tk()

root.iconphoto(False, tk.PhotoImage(file='/path/to/ico/icon.png'))
root.mainloop()

Ici, False signifie que cette image d’icône s’applique seulement à cette fenêtre spécifique mais pas aux futurs toplevels créés.

Si True est utilisé, l’image de l’icône est appliquée à tous les futurs toplevels créés également.

Article connexe - Tkinter Icon

comments powered by Disqus