如何将接口绑定到 PySimpleGUI 中的函数
How to bind an interface to functions in PySimpleGUI
我有下一个文件:
https://github.com/Greenboyisyourdream/PasswordGenerator
如何让“生成”按钮执行 app.py
中第 12 行的功能
(app.py中第12行的函数):
elif button == "Generate!":
screen.format()
screen = str(*[random.choice(list(symbols)) for _ in range(lenght)])
window.FindElement("output").Update(screen)
在layout中,你把gui.InputText
的key定义为'output'
,同时你也把gui.Button
的key定义为'output'
.
对同一 window 中的所有元素使用唯一键。
这里gui.Button
的key会自动改成'output0'
.
layout = [
...
[gui.InputText(screen, size=(40, 1), font=("Times New Roman", 10), background_color="white", text_color="black", key="output"),
gui.Button(button_text="Generate!", size=(10, 1), button_color="red", key="output")]
]
如果指定选项key
或k
,则单击按钮时生成的事件是gui.Button
的键,而不是元素的button_text。
获得正确事件 'Generated!'
的最简单解决方案是从 gui.Button
中删除选项 key='output'
,或在 gui.Button
中设置选项 key='Generated!'
。
layout = [
...
[gui.InputText(screen, size=(40, 1), font=("Times New Roman", 10), background_color="white", text_color="black", key="output"),
gui.Button(button_text="Generate!", size=(10, 1), button_color="red")]
]
我有下一个文件: https://github.com/Greenboyisyourdream/PasswordGenerator
如何让“生成”按钮执行 app.py
中第 12 行的功能(app.py中第12行的函数):
elif button == "Generate!":
screen.format()
screen = str(*[random.choice(list(symbols)) for _ in range(lenght)])
window.FindElement("output").Update(screen)
在layout中,你把gui.InputText
的key定义为'output'
,同时你也把gui.Button
的key定义为'output'
.
对同一 window 中的所有元素使用唯一键。
这里gui.Button
的key会自动改成'output0'
.
layout = [
...
[gui.InputText(screen, size=(40, 1), font=("Times New Roman", 10), background_color="white", text_color="black", key="output"),
gui.Button(button_text="Generate!", size=(10, 1), button_color="red", key="output")]
]
如果指定选项key
或k
,则单击按钮时生成的事件是gui.Button
的键,而不是元素的button_text。
获得正确事件 'Generated!'
的最简单解决方案是从 gui.Button
中删除选项 key='output'
,或在 gui.Button
中设置选项 key='Generated!'
。
layout = [
...
[gui.InputText(screen, size=(40, 1), font=("Times New Roman", 10), background_color="white", text_color="black", key="output"),
gui.Button(button_text="Generate!", size=(10, 1), button_color="red")]
]