【发布时间】:2020-10-29 11:45:28
【问题描述】:
在下面的代码中,按两次空格键会导致两次连续的哔声。我想避免这种情况,而是在第一次哔哔声发生时禁用该键。我认为取消绑定空格键可能会起作用,但事实并非如此。奇怪的是,似乎只有两声哔哔声堆积起来,而不是更多。我猜这个问题的原因可能是 winsound.Beep 是非阻塞的,所以重新绑定几乎是立即发生的。
请对如何使其工作有任何建议?
import winsound
from tkinter import *
def beep(e):
frame.unbind("<space>")
winsound.Beep(440, 1000)
frame.bind("<space>", beep)
root = Tk()
frame = Frame(root, width=100, height=100)
frame.bind("<space>", beep)
frame.pack()
frame.focus_set()
root.mainloop()
【问题讨论】:
-
不胜感激在下面标记正确答案
-
我投了赞成票,但我想暂时不解决这个问题,因为我认为可能会出现更多正统的方法。
标签: python python-3.x windows tkinter