3

我正在Listbox使用 Tkinter 和 Python 创建一个。我想为 制作一个 Button 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
4

1 回答 1

6

您可以将selection_set(or select_set) 方法与0andEND作为参数一起使用。

例如,尝试以下代码:

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)
于 2013-10-05T09:32:15.283 回答