如何解决如果语句基于带有 PySimpleGui 的列表框
所以我在使用基于 PySimpleGui 列表框元素的 if 语句时遇到了一些问题。 我的代码是:
layout = [[sg.ListBox(values=['ListBox 1','ListBox 2','ListBox 3'],size=(30,6))],[sg.Button('Next'),sg.Button('Quit')]]
window = sg.Window('PyK Mn',layout)
#############
# MAIN LOOP #
#############
while True:
event,values = window.read()
print(event)
if event == sg.WIN_CLOSED or event == 'Quit':
quit()
elif event == 'Next':
if values[0] == 'ListBox 3':
print('3')
当我运行它时,它返回“Next”但没有“3”。我做错了什么?
解决方法
此处 valuse[0]
仅用于选定列表,例如 ['Listbox 3']
因为 0
作为列表框的键。
要检查是否选择了 'Listbox 3'
,再添加一个列表索引,例如 values[0][0],
import PySimpleGUI as sg
layout = [[sg.Listbox(values=['Listbox 1','Listbox 2','Listbox 3'],size=(30,6))],[sg.Button('Next'),sg.Button('Quit')]]
window = sg.Window('PyK Mn',layout)
#############
# MAIN LOOP #
#############
while True:
event,values = window.read()
print(event,values)
if event == sg.WIN_CLOSED or event == 'Quit':
window.close()
break
elif event == 'Next':
if values[0][0] == 'Listbox 3':
print('3')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。