首页 > 解决方案 > PySimpleGUIQt - 按下键或按钮作为动作

问题描述

import PySimpleGUIQt as sg

layout = [
            [sg.Button('Button1')],
            [sg.Button('Exit')],
        ]    

window = sg.Window('Mechanical Turk tool', self._layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == 'Exit':
        break
        
    elif event == 'Button1': # how to make it possible to also press "a" on your keyboard to run that event?
        print("You pressed button 1")

如何修改上面的代码,以便我可以在 GUI 上按“button1”,也可以在键盘上按“a”来启动指定事件?

标签: pythonpysimplegui

解决方案


return_keyboard_events=True在 中设置选项,然后在事件循环中sg.Window模拟单击。button1

import PySimpleGUIQt as sg

layout = [
    [sg.Button('Button1')],
    [sg.Button('Exit')],
]

window = sg.Window('Mechanical Turk tool', layout, finalize=True, return_keyboard_events=True)

while True:

    event, values = window.read()

    if event in (sg.WIN_CLOSED, 'Exit'):
        break
    elif event == 'Button1':
        print("You pressed button 1")
    elif event == 'a':
        window['Button1'].click()

window.close()

推荐阅读