【发布时间】:2018-10-09 18:34:50
【问题描述】:
我想为每个列表框项创建一个复选框列表。因此,我创建了一个包含 4 个不同项目的列表框,“一”、“二”、“三”、“四”。我想为每个列表框条目列出相应的复选框项目。当我点击一个列表框条目时,它的右侧应该有一个复选框列表,当我点击一个不同的列表框条目时,它应该有一个独立于其他列表框项目的复选框列表。所有复选框列表都是相互独立的,这意味着您可以在选择第一个列表框条目时选中 4 个复选框,但是当我选择第二个列表框条目时,它应该显示 0 个已选中的内容(因为它们是独立的)。
import tkinter
from tkinter import *
master = tkinter.Tk()
master.geometry("750x500")
listbox = Listbox(master)
listbox.place(x=3,y=0)
for item in ["one", "two", "three", "four"]:
listbox.insert(END, item)
enable = {'button 1','button 2', 'button 3'}
def onselect(evt):
# Note here that Tkinter passes an event object to onselect()
w = evt.widget
x=0
index = int(w.curselection()[0])
value = w.get(index)
print ('You selected item %d: "%s"' % (index, value))
for item in enable:
checkboxes = Checkbutton(master, text=item, variable=item)
checkboxes.place(x=300,y=0+x)
x+=50
listbox.bind('<<ListboxSelect>>', onselect)
print(enable)
mainloop()
【问题讨论】: