【发布时间】:2021-11-25 17:22:51
【问题描述】:
当我想在列表框中获取所选项目的索引,而列表框为空时,我得到一个错误。
window['Listbox'].get_indexes()[0]
------------------------------------
IndexError: tuple index out of range
我在程序中使用的原始列表不是空的,但它正在发生变化,因此它可能是空的,在这种情况下,当我按下列表框时程序崩溃。
代码:
import PySimpleGUI as sg
list1 = []
layout = [[sg.Listbox(list1, s=(13, 6), enable_events=True, key='Listbox')]]
window = sg.Window("listbox test 1", layout=layout, size=(100, 100))
while True:
event, values = window.read()
if event == "Exit" or event == sg.WIN_CLOSED:
break
if event == 'Listbox':
print(window['Listbox'].get_indexes()[0])
是否有一个简单的解决方法?
如果不是,那么我必须添加一个检查列表框是否为空。
【问题讨论】:
-
你为什么要调用get?该值在值字典中。 values['Listbox'] 具有当前选定的值。 if values['Listbox']: 是您需要检查的所有条目。保持简单。
-
不会 values['Listbox'] 给我一个字符串吗? (列表中的元素)我正在寻找 intex。
-
ok,那你可以根据原来的选择去查,也可以用get。更重要的一点是,一般来说,在对某物进行索引时总是检查长度。
标签: python python-3.x listbox pysimplegui