PySimpleGUIQt - 按下按键或按钮作为动作

PySimpleGUIQt - pressing key or button as action

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”来启动指定的事件?

sg.Window 中设置选项 return_keyboard_events=True,然后在事件循环中模拟点击 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()