Tkinter Listbox如何判断是否选择了某个项目

时间:2015-08-01 02:01:40

标签: python tkinter listbox

我正在尝试创建一个简单的GUI,允许用户按下一个按钮,该按钮将从显示的列表框中删除一个条目。但是,如果未选择任何条目,控制台将引发错误,因此如何确定用户是否已选择条目。这是我的代码:

selection = self.recipe_list.curselection()
    if not selection is None:
        self.recipe_list.delete(selection)
    else:
        print("Nothing to delete!")

3 个答案:

答案 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]