2
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")

How do I modify above code, so I can press "button1" on GUI but also "a" on keyboard to start specified event?

1 Answers1

2

Set option return_keyboard_events=True in sg.Window, then simulate a click on button1 in your event loop.

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()
Jason Yang
  • 11,284
  • 2
  • 9
  • 23