从空列表框获取索引时出错。get_indexes()
Error while getting the index from an empty Listbox .get_indexes()
当我想获取列表框中所选项目的索引,而列表框为空时,出现错误。
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])
可能有一个简单的解决方法吗?
如果没有,那么我必须添加一个检查列表框是否为空。
这对你有用吗?
if event == 'Listbox':
try:
print(window['Listbox'].get_indexes()[0])
except:
print("Empty list")
只需要一个 if 语句。
if values['Listbox']: # if something was selected
first_entry = values['Listbox'][0]
window['Listbox'].get_indexes()[0] # if you want the index... it'll be safe because values says there are entries
当我想获取列表框中所选项目的索引,而列表框为空时,出现错误。
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])
可能有一个简单的解决方法吗?
如果没有,那么我必须添加一个检查列表框是否为空。
这对你有用吗?
if event == 'Listbox':
try:
print(window['Listbox'].get_indexes()[0])
except:
print("Empty list")
只需要一个 if 语句。
if values['Listbox']: # if something was selected
first_entry = values['Listbox'][0]
window['Listbox'].get_indexes()[0] # if you want the index... it'll be safe because values says there are entries