我目前正在为 Tkinter 桌面应用程序编写代码,用于测试您的打字速度。我有一个带有随机文本的文本框和一个输入小部件,用户可以在其中输入随机文本的单词。 60 秒后,我希望禁用输入小部件,然后我使用 get 来了解用户输入的内容,并将其与文本框的原始文本进行比较,以查看正确输入了多少个单词,从而了解用户能够输入多少个单词60 秒内正确输入。
所以基本上我写的是:
def disable_entry():
user_input = input_field.get()
input_field.config(state="disabled")
return user_input
...创建其他小部件的更多代码...
input_field = Entry(width = 70)
input_field.grid(column = 1, row = 1)
user_input = window.after(60000, disable_entry)
但是,我创建的 user_input 变量不是使用 get 方法获取在条目小部件中实际输入的内容,而是在第一次运行程序时返回“after#1”,在第二次运行程序时返回“after#2”,等等等等...
我该如何解决这个问题?
要解决打字速度测试应用程序中的问题,请更新disable_entry函数来处理用户输入,并添加compare_texts函数来比较键入的文本。
要解决打字速度测试应用程序中的问题,请修改disable_entry函数以直接处理用户输入,并创建一个新函数compare_texts来比较键入的文本。
def disable_entry():
input_field.config(state="disabled")
user_input = input_field.get()
compare_texts(user_input)
# Other code...
input_field = Entry(width=70)
input_field.grid(column=1, row=1)
# disable_entry function will run in 60 seconds. Scheduled.
window.after(60000, disable_entry)