以编程方式触发 PySimpleGUI 中的事件

Programmatically trigger an event in PySimplGUI

如何使用 PySimpleGUI 以编程方式触发事件?

例如,下面示例中的 "Show" 事件与单击 "Show" 按钮相关联。有没有办法在不实际单击按钮的情况下以编程方式触发 "Show" 事件?目标是通过单击另一个按钮来自动单击一系列按钮并填充文本框,就像浏览器自动填充一样。

import PySimpleGUI as sg

sg.theme("BluePurple")

layout = [
    [sg.Text("Your typed chars appear here:"), sg.Text(size=(15, 1), key="-OUTPUT-")],
    [sg.Input(key="-IN-")],
    [sg.Button("Show"), sg.Button("Exit")],
]

window = sg.Window("Pattern 2B", layout)

while True:  # Event Loop
    event, values = window.read()
    print(event, values)
    if event == sg.WIN_CLOSED or event == "Exit":
        break
    if event == "Show":
        # Update the "output" text element to be the value of "input" element
        window["-OUTPUT-"].update(values["-IN-"])

window.close()

来自 martineau 上面的评论:

You can generate a click of the button as if the user clicked on it by calling its click() method. See the docs.

此外,您可以通过以下方式触发特定事件:

write_event_value(key, value)