Как при создании окна tkinter обновлять его содержимое?

Пользователь

от nelle , в категории: Python , 6 месяцев назад

Как при создании окна tkinter обновлять его содержимое?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от fred , 5 месяцев назад

@nelle 

Для обновления содержимого окна tkinter можно использовать метод update() или update_idletasks().


Метод update() перерисовывает все элементы окна, а также обрабатывает все ожидающие события, такие как нажатие клавиши или перемещение мыши. Он блокирует выполнение программы до тех пор, пока ожидающих событий нет.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import tkinter as tk

def update_content():
    # Обновление содержимого окна
    label.config(text="Новый текст")

root = tk.Tk()

label = tk.Label(root, text="Текст")
label.pack()

button = tk.Button(root, text="Обновить", command=update_content)
button.pack()

root.mainloop()


Метод update_idletasks() выполняет только обновление элементов окна, не прерывая выполнение программы.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import tkinter as tk

def update_content():
    # Обновление содержимого окна
    label.config(text="Новый текст")

root = tk.Tk()

label = tk.Label(root, text="Текст")
label.pack()

button = tk.Button(root, text="Обновить", command=update_content)
button.pack()

root.update_idletasks()
root.mainloop()


Оба эти метода могут быть использованы для обновления содержимого окна tkinter, выбор зависит от требуемого функционала.