π₯ ΠΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ tkinter Π² python? ΠΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ!
ΠΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ tkinter Π² Python
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ tkinter Π² Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ destroy(). ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΈ Π²ΡΠ΅ Π΅Π³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈΠ· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
import tkinter as tk
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
root = tk.Tk()
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°
widget = tk.Label(root, text="ΠΡΠΈΠΌΠ΅Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°")
# ΠΠΎΠΊΠ°Π· Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°
widget.pack()
# Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°
widget.destroy()
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ tkinter ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ Label. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ pack(), ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ destroy(), ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΡΡΡΡ ΠΈ ΠΎΡΠΈΡΡΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΡ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ tkinter Π² Python
Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ tkinter, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² Python, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ². Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² tkinter.
1. ΠΠ΅ΡΠΎΠ΄ destroy
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° tkinter - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° destroy(). ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΈ Π²ΡΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
import tkinter as tk
def remove_widget():
widget.destroy()
root = tk.Tk()
widget = tk.Label(root, text="ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!")
widget.pack()
remove_widget()
root.mainloop()
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ tkinter ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ Label Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!". ΠΠ°ΡΠ΅ΠΌ, ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ remove_widget(), Π²ΠΈΠ΄ΠΆΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
2. ΠΠ΅ΡΠΎΠ΄ forget
ΠΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° tkinter - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° forget(). ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΊΡΡΠ²Π°Π΅Ρ Π²ΠΈΠ΄ΠΆΠ΅Ρ, Π½ΠΎ Π½Π΅ ΡΠ΄Π°Π»ΡΠ΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΠΊΡΠ°Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° pack() ΠΈΠ»ΠΈ grid().
import tkinter as tk
def remove_widget():
widget.pack_forget()
root = tk.Tk()
widget = tk.Label(root, text="ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!")
widget.pack()
remove_widget()
root.mainloop()
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ tkinter ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ Label Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!". ΠΠ°ΡΠ΅ΠΌ, ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ remove_widget(), Π²ΠΈΠ΄ΠΆΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠΊΡΡΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ½ ΠΎΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ (pack, grid).
3. ΠΠ΅ΡΠΎΠ΄ grid_forget
Π’ΡΠ΅ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° tkinter - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° grid_forget(). ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄Ρ forget(), Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠΊΠΈ (grid).
import tkinter as tk
def remove_widget():
widget.grid_forget()
root = tk.Tk()
widget = tk.Label(root, text="ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!")
widget.grid()
remove_widget()
root.mainloop()
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ tkinter ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ Label Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!". ΠΠ°ΡΠ΅ΠΌ, ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ remove_widget(), Π²ΠΈΠ΄ΠΆΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠΊΡΡΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° grid().
4. ΠΠ΅ΡΠΎΠ΄ pack_forget Π²ΠΌΠ΅ΡΡΠ΅ Ρ pack
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π½Π°Π²ΡΠ΅Π³Π΄Π° ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ pack_forget() ΠΈ pack(). Π‘Π½Π°ΡΠ°Π»Π°, ΡΠΊΡΠΎΠΉΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° pack_forget(), Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»ΠΈΡΠ΅ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° pack().
import tkinter as tk
def remove_widget():
widget.pack_forget()
widget.pack_forget()
root = tk.Tk()
widget = tk.Label(root, text="ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!")
widget.pack()
remove_widget()
root.mainloop()
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ tkinter ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ Label Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!". ΠΠ°ΡΠ΅ΠΌ, ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ remove_widget(), Π²ΠΈΠ΄ΠΆΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠΊΡΡΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ ΠΏΠ°ΠΌΡΡΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² tkinter Π² Python ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² destroy(), forget(), grid_forget() ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ pack_forget() ΠΈ pack(). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ.