我正在尝试创建一个简单的GUI,允许用户按下一个按钮,该按钮将从显示的列表框中删除一个条目。但是,如果未选择任何条目,控制台将引发错误,因此如何确定用户是否已选择条目。这是我的代码:
selection = self.recipe_list.curselection()
if not selection is None:
self.recipe_list.delete(selection)
else:
print("Nothing to delete!")
答案 0 :(得分:2)
不是像你要检查的那样返回None
,而是返回一个空字符串""
。检查如下:
if selection:
self.recipe_list.delete(selection)
else:
print("Nothing to delete!")
答案 1 :(得分:0)
if not self.lstb.curselection() is ():
答案 2 :(得分:0)
根据
Tkinter参考:Python的GUI
列表框对象的方法包括:
.curselection()
返回一个元组,其中包含所选元素的行号,从0开始计数。
如果未选择任何内容,则返回一个空的元组。
所以您可以做类似的事情
if self.MyListbox.curselection():
index = self.MyListbox.curselection()[0]