【发布时间】:2018-05-27 18:46:04
【问题描述】:
我有一个 tkinter Entry 小部件,当用户按下按钮时,内容会更新:
from tkinter import *
window = Tk()
def abcdef(num):
ent.config(state=NORMAL)
ent.delete(0, 'end')
ent.insert(0, num)
ent.config(state = "readonly")
print(num) #Just to check the code is being run
def changeEntry():
for j in range(3):
ent.after(1000, abcdef(j))
ent = Entry(widow, text="", state = "readonly", readonlybackground="white", font = "20")
ent.grid(row = 0, column = 0, columnspan = 3, sticky = "E")
btn = Button(window, text="Button", command=changeEntry)
btn.grid(row = 1, column = 0, sticky = "NESW", pady = 10, padx = 10)
window.mainloop()
当我按下按钮时,窗口会冻结 3 秒钟,然后只显示最终数字。我怎样才能做到这一点,当用户按下按钮时,条目每秒都会发生变化,而不是仅仅冻结 3 秒并且只显示最后一个?
提前致谢
【问题讨论】:
-
very 密切相关:Why is Button parameter “command” executed when declared? 同样的问题,除了在您的情况下它不是按钮命令。在这里,它是
disp.after的参数。 -
disp是什么?你想要终端的输出吗? -
@PratikKumar 对不起,那应该是 ent
标签: python python-3.x tkinter tkinter-entry