Hoe het vensterpictogram in Tkinter in te stellen

Jinku Hu 30 januari 2023 20 december 2019
  1. root.iconbitmap vensterpictogram instellen
  2. tk.call('wm', 'Iconphoto', ) Methode om het vensterpictogram in te stellen
  3. root.iconphoto vensterpictogram instellen
Hoe het vensterpictogram in Tkinter in te stellen

We zullen methoden introduceren om het vensterpictogram in Tkinter in te stellen.

  1. root.iconbitmap om het vensterpictogram in te stellen
  2. root.tk.call() om het vensterpictogram in te stellen
  3. root.iconphoto om het vensterpictogram in te stellen

root.iconbitmap vensterpictogram instellen

import tkinter as tk
root = tk.Tk()

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

iconbitmap(bitmap) stelt het pictogram van de venster / frame-widget in op bitmap . Het bitmap moet een ico type zijn, maar geen png of jpg type, anders wordt de afbeelding niet weergegeven als het pictogram.

Tkinter vensterpictogram instellen

De bovenstaande afbeelding toont wanneer het ico type wordt gebruikt iconbitmap.

Als u png type gebruikt, is het pictogram in het venster leeg,

Tkinter ingesteld vensterpictogram met png

tk.call('wm', 'Iconphoto', ) Methode om het vensterpictogram in te stellen

import tkinter as tk
root = tk.Tk()

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

root.mainloop()

tk.call methode is de Tkinter-interface naar tcl tolk. We kunnen een tcl opdracht uitvoeren met deze call methode.

Dit is handig wanneer de Tkinter-wrapper geen toegang heeft tot sommige tcl/tk functies.

wm communiceert met window manager.

We moeten de afbeelding instellen als tk.PhotoImage maar niet de afbeelding zelf, anders hebben we een _tkinter.TclError foutmelding.

root.iconphoto vensterpictogram instellen

Een andere methode om het vensterpictogram in te stellen, is door een root.iconphoto() methode te gebruiken die meer afbeeldingstypen accepteert, net als in tk.call('wm', 'iconphoto', ).

import tkinter as tk
root = tk.Tk()

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

Dit False betekent dat deze pictogramafbeelding alleen van toepassing is op dit specifieke venster, maar niet in de toekomst wordt gemaakt toplevels.

Als True wordt gebruikt, wordt de pictogramafbeelding ook toegepast op alle gemaakte toekomstige toplevels.

Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn