如何解决使用 PySimpleGui 单击按钮时,我无法在 gui 上显示按钮名称或保存输入
我正在使用 PySimpleGUI,我希望能够单击一个按钮并将其显示在按钮下方的文本上作为选择。选项是拆分或数据填充,但我无法弄清楚如何让事件处理程序更新文本或保存该选项,然后让代码根据该选项采取相应的行动。
到目前为止的代码看起来有点像这样
import PySimpleGUI as sg
layout = [
[sg.Text('Would you like to SPLIT or SPLIT AND DATA POPULATE')],[sg.Button('Split',key='-SPLIT-'),sg.Button('Split and Populate',key ='-SANDP-')],[sg.Text('Current Process:'),sg.Text('Process',key='-PROCESS-')]
]
window = sg.Window('Title',layout,size=(1000,500))
while True:
event,values = window.read()
if event is None or event == 'EXIT':
break
if event == '-SPLIT-':
window['-PROCESS-'].update(values("-SPLIT-"))
choice1 = window['-PROCESS-'].update("split")
if event == '-Split and Populate-':
window['-PROCESS-'].update("Split and Populate")
choice2 = window['-PROCESS-'].update("Split and Populate")
window.close()
#psuedo code following
if choice1
bla bla bla
if choice2
bla bla bla
我希望能够单击并将该按钮名称存储在选项 1 或选项 2 中,并且该按钮名称也出现在 gui 中,这可能吗?
解决方法
如果选项 button_text
或 sg.Button
未指定且不重复,则键将是 key
的 k
,因此“-Split and Populate-”没有事件.
大多数情况下,sg.Button
的值不会改变,因此它不会是来自 values
的 sg.Window().read
中的数据。要获取有关 sg.Button
的文本,您可以调用 get_text
的方法 sg.Button
。
对于点击sg.Button
或其他元素时元素key产生的事件,然后在if ... elif ... else ...
语句中决定做什么。
import PySimpleGUI as sg
layout = [
[sg.Text('Would you like to SPLIT or SPLIT AND DATA POPULATE')],[sg.Button('Split',key='-SPLIT-'),sg.Button('Split and Populate',key ='-SANDP-')],[sg.Text('Current Process:'),sg.Text('Process',size=(0,1),key='-PROCESS-')]
]
window = sg.Window('Title',layout,size=(1000,500))
while True:
event,values = window.read()
if event is None or event == 'EXIT':
break
elif event in ('-SPLIT-','-SANDP-'):
window['-PROCESS-'].update(value=window[event].get_text())
if event == '-SPLIT-':
pass
elif event == '-SANDP-':
pass
window.close()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。