【发布时间】:2021-02-03 20:27:02
【问题描述】:
谁能帮我确定为什么打印语句似乎落后于这段代码的输入?如果您运行这个简短的程序并在输入条目小部件中键入 1,2,3,4,5,则触发该方法的事件将获取 typed_string Stringvar 的当前值,但它比输入滞后 1。有人可以解释为什么吗?更好的是,有没有人知道任何对产生文本的条目小部件的按键都会调用输入变量的显示值的方式?当前的python版本是3.8
import tkinter
from tkinter import *
class UI():
def __init__(self, master):
self.typed_string = StringVar()
self.typed_string.set("")
self.new_entry = tkinter.Entry(master, textvariable=self.typed_string)
self.new_entry.pack()
self.new_entry.bind("<Key>",self.check_string)
def check_string(self, event):
retrieved_string = self.typed_string.get()
print(retrieved_string, " was retrieved string")
print(self.new_entry.get(), " was get for entry widget")
def main():
root = Tk()
new_ui = UI(root)
root.mainloop()
if __name__ == '__main__':
main()
【问题讨论】:
标签: python tkinter text tkinter-entry