Python 如何检查tkinter中的列表框是否为空?

Python 如何检查tkinter中的列表框是否为空?,python,tkinter,Python,Tkinter,我正在使用Python Tkinter,我需要知道列表框是否为空,但我不知道这样做的语法。请帮帮我 列表框有一个size方法,返回列表框中项目数的计数: size = the_listbox.size() 字符串“end”是一个特殊的lisbox索引,它引用listbox中最后一项之后的位置。另一个解决方案是获取“end”索引。如果为零,则列表框为空 end_index = the_listbox.index("end") if end_index == 0: print("the l

我正在使用Python Tkinter,我需要知道列表框是否为空,但我不知道这样做的语法。请帮帮我

列表框有一个
size
方法,返回列表框中项目数的计数:

size = the_listbox.size()
字符串“end”是一个特殊的lisbox索引,它引用listbox中最后一项之后的位置。另一个解决方案是获取“end”索引。如果为零,则列表框为空

end_index = the_listbox.index("end")
if end_index == 0:
    print("the listbox is empty")

只需检查第一行是否为空:

if not listbox.get(0):
  print('Empty')
else:
  print('Not empty')
或者,如果其他行可能不为空,请检查全部内容:

if not listbox.get(0,END):
  print('Empty')
else:
  print('Not empty')

Use,返回列表中的项数。列表框可能不是空的,但
listbox。get(0)
可以返回空字符串,因此第一个方法不可靠。@BryanOakley:当然,这就是我提到这两个选项的原因。如果您知道您的接口只将非空字符串放入Listbox(这是一种非常常见的情况,因为Listbox主要用于显示备选列表),那么第一种方法是save。但是,正如你在编辑的帖子中添加的,测试大小()是一个很好的解决方案。我不知道为什么有人否决了这个答案,但我可以向你保证,这是事实上正确的。@Brayn Oakley是的,你的两个提示对我都有效。我正在Windows10上使用Python3.9。我更喜欢使用.index(“end”)版本,因为.index从来不会让我失望。