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

如何在PySimpleGUI中绑定键盘按键触发按钮事件?

在PySimpleGUI中用H键触发Hello按钮事件

要实现按下H键触发按钮操作,你可以通过PySimpleGUI的事件绑定功能来完成,以下是两种实用方案:

方案1:绑定H键到窗口事件

这是最简洁高效的方式,直接把H键按下的动作绑定为自定义事件,让它和按钮点击事件共享同一处理逻辑:

import PySimpleGUI as sg

layout = [[sg.Button('Hello'),]]
window = sg.Window('Demo', layout)
# 绑定小写H键的按下事件,自定义事件名为-H-KEY-
window.bind('<h>', '-H-KEY-')
# 若需支持大写H,添加此行即可
# window.bind('<H>', '-H-KEY-')

while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED:
        break
    # 同时响应按钮点击和H键按下动作
    if event == 'Hello' or event == '-H-KEY-':
        print('Hello, World!')

window.close()

方案2:监听键盘状态模拟按钮点击

如果需要更灵活的键盘监听逻辑,可以通过定时检测键盘状态,手动触发按钮的点击动作:

import PySimpleGUI as sg
import ctypes

layout = [[sg.Button('Hello', key='-HELLO-BTN-'),]]
window = sg.Window('Demo', layout)

while True:
    event, values = window.read(timeout=10)
    if event == sg.WINDOW_CLOSED:
        break
    # 检测H键是否被按下,按下则触发按钮点击
    if ctypes.windll.user32.GetAsyncKeyState(ord('H')) & 0x8000:
        window['-HELLO-BTN-'].click()
    if event == '-HELLO-BTN-':
        print('Hello, World!')

window.close()

第一种方案是PySimpleGUI官方推荐的事件绑定方式,代码更简洁易维护;第二种适合需要复杂键盘交互的场景。

内容的提问来源于stack exchange,提问作者Brad Fortner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:52:16