【发布时间】:2022-09-28 04:13:01
【问题描述】:
如果您使用 Root.bind 获取键输入并添加它将执行的功能,它将执行它,稍作停顿,然后继续快速执行它但是如何在不暂停的情况下执行它,如果有是一种检测它是否被单击(未释放)然后开始执行它并且当按钮被抬起时它将停止执行它的方法? (不使用另一个导入,它不工作,为什么)
from tkinter import *
A = 0
def fun(event):
global A
if event.keysym == \'space\':
A += 1
print(A)
root = Tk()
root.bind(\"<Key>\", fun)
root.mainloop()
-
请提供足够的代码,以便其他人更好地理解或重现问题。
-
你只是按住一个键吗?那可能是操作系统或键盘进行自动重复。 tkinter 无法控制。这听起来可能是xy 问题。你想解决什么问题?
-
我不知道这是否有帮助,但如果您只关心
space键,您可以在绑定中使用\'<Key-space>\'而不仅仅是\'<Key>\'。这样一来,您的绑定函数就不会在每次按键时不必要地触发,您也不需要if event.keysym == \'space\'。但是,这不会忽略来自保持键的键重复。一个简单的方法是改用\'<KeyRelease-space>\'。