在tkinter列表框中选择全部

时间:2013-10-05 09:26:16

标签: python tkinter

我正在使用Tkinter和Python创建Listbox。我想为select all制作一个按钮,但我找不到任何关于使用代码选择元素的信息。

 self.l = Listbox(self, height=12, selectmode=MULTIPLE)
 self.selectAll=Button(self, text="select all",
                      command=self.selectAllCallback())
 def selectAllCallback(self)
 # What to do here

1 个答案:

答案 0 :(得分:6)

您可以使用selection_set(或select_set)方法,0END作为参数。

例如,请尝试以下代码:

from Tkinter import *

def select_all():
    lb.select_set(0, END)

root = Tk()
lb = Listbox(root, selectmode=MULTIPLE)
for i in range(10): lb.insert(END, i)
lb.pack()
Button(root, text='select all', command=select_all).pack()
root.mainloop()

在以下语句中,您正在调用self.selectAllCallback,而不是通过单击按钮将其绑定。在生成按钮之前调用它。

self.selectAll=Button(self,text="select all", command=self.selectAllCallback())
                                                                            ^^

应该是:

self.selectAll=Button(self, text="select all", command=self.selectAllCallback)