【发布时间】:2021-05-03 19:48:21
【问题描述】:
如标题所述,我正在尝试在将字符输入文本字段后立即删除它。
import tkinter as tk
window = tk.Tk()
input = tk.Text()
input.pack()
def handle_keypress(event):
print("test")
input.delete("1.0")
input.bind("<Key>", handle_keypress)
window.mainloop()
以下代码仅在键入另一个字符后才删除该字符。但是,打印语句可以按预期立即工作。我想知道是什么导致了这种行为以及如何解决它。感谢您提供任何线索。
【问题讨论】:
-
如果您从
"<Key>"事件返回"break",则文本小部件不会处理密钥。所以用return "break"替换input.delete("1.0")。 -
键绑定在文本实际插入字符之前执行 - 这允许您修改插入的字符,或完全阻止插入。
-
如果你不想在文本框中输入任何键,你不禁用它吗?
标签: python tkinter tkinter-text