Метод Tkinter after() выполняется только один разPython

Программы на Python
Ответить
Anonymous
 Метод Tkinter after() выполняется только один раз

Сообщение Anonymous »

После первого выполнения вставки() (i=0) она ожидает 1000 мс, но после этого мгновенно вставляет 'asd' в другие виджеты ввода.
Как я могу изменить программу, чтобы она каждый раз ждала 1000 мс перед вставкой в ​​другие виджеты?
Мой код:
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, height=600, width=540, bg='#F0F0F0')
canvas.pack()

entry = tk.Entry(bg='white', bd=0, width=1, justify='center')
entry2 = tk.Entry(bg='white', bd=0, width=1, justify='center')
entry3 = tk.Entry(bg='white', bd=0, width=1, justify='center')

canvas.create_window(30, 30, window=entry, height=50, width=50)
canvas.create_window(90, 30, window=entry2, height=50, width=50)
canvas.create_window(150, 30, window=entry3, height=50, width=50)

def insertion(entry_list, i):
entry_list.after(1000, lambda: entry_list.insert(0, 'asd'))

entry_list = [entry, entry2, entry3]
for i in range(len(entry_list)):
insertion(entry_list, i)

root.mainloop()


Подробнее здесь: https://stackoverflow.com/questions/660 ... cutes-once
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»