You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用add_key_down_handler后如何让按键触发一次后停止响应?(Python)

实现按键按下一次后停止触发事件处理函数

你需要在Python中调用add_key_down_handler(argmt)后,实现某个按键按下一次后,对应的事件处理函数不再执行。例如初始代码如下:

def check(event):
     if event.key == "a":
          function()

add_key_down_handler(check)

需求是:按下按键"a"一次后,再次按下时function()不再执行。

你尝试的解决方法是可行的,代码如下:

def check(event):
     if event.key == "a":
          function()
          remove_key_down_handler(check)

add_key_down_handler(check)

原理说明

这个方案的核心逻辑是:当a键被按下并触发check函数后,在执行完目标function()之后,立刻调用remove_key_down_handler(check)将当前的事件处理函数从按键监听列表中移除。这样后续再按下a键时,由于对应的处理函数已经被移除,就不会再触发check函数,自然也就不会执行function()了。

内容的提问来源于stack exchange,提问作者Charlie Goldberg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 05:27:33