Я не совсем понимаю, какова ваша цель.Какое поведение вы хотите?
Когда кнопка имеет фокус, нажатие клавиши возврата, по-видимому, не запускает кнопки по умолчанию.Пробел будет.
Вот код, который будет нажимать кнопку на основе ввода с клавиатуры пользователя.Я думаю, это было то, что вы описали после того, как я перечитал ваш вопрос несколько раз.
import PySimpleGUI as sg
layout = [[sg.Button("OK1", key='_1_', )],
[sg.Button("OK2", key='_2_', )],
[sg.Button("OK3", key='_3_', )]]
window = sg.Window("Keyboard Test", layout, return_keyboard_events=True)
while True:
event, values = window.Read()
# window.Maximize()
print('event: ', event)
if event == None:
break
if event == '1':
window.Element('_1_').Click()
elif event == '2':
window.Element('_2_').Click()
elif event == '3':
window.Element('_3_').Click()
window.Close()
Если вы хотите управлять кнопками с помощью клавиатуры, то вам нужно будет собрать нажатия клавиш на клавиатуре, а затем преобразовать их в любое поведение по вашему желанию.
Нажатие кнопки ENTER, когда кнопка имеет фокус (выделен), НЕ генерирует нажатие кнопки, ПРОБЕЛ делает.Это можно продемонстрировать в этой программе tkinter:
import tkinter as tk
def write_slogan():
print("Tkinter is easy to use!")
root = tk.Tk()
frame = tk.Frame(root)
frame.pack()
button = tk.Button(frame,
text="QUIT",
fg="red",
command=quit)
button.pack(side=tk.LEFT)
slogan = tk.Button(frame,
text="Hello",
command=write_slogan)
slogan.pack(side=tk.LEFT)
root.mainloop()
[РЕДАКТИРОВАТЬ - извините за правки, но я экспериментирую ...]