我可以在Tix
中获取复选框的状态,但如何获取复选框的值。
from tkinter import tix
class View(object):
def __init__(self, root):
self.root = root
self.makeCheckList()
def makeCheckList(self):
self.cl = tix.CheckList(self.root, browsecmd=self.selectItem)
self.cl.pack()
self.cl.hlist.add("CL1", text="C:/")
self.cl.hlist.add("CL1.Item1", text="subitem1")
self.cl.hlist.add("CL2", text="some folder")
self.cl.hlist.add("CL2.Item1", text="test")
self.cl.setstatus("CL2", "on")
self.cl.setstatus("CL2.Item1", "on")
self.cl.setstatus("CL1", "off")
self.cl.setstatus("CL1.Item1", "off")
self.cl.autosetmode()
def selectItem(self, item):
print (item, self.cl.getstatus(item))
def main():
root = tix.Tk()
view = View(root)
root.update()
root.mainloop()
if __name__ == '__main__':
main()
预期输出
如果我点击复选框c:/
,则应该打印c:/
。我想要复选框的值。
的输出
答案 0 :(得分:1)
全部保持在hlist
Official documentation了解有关hlist
发送至tcl/tk documentation的更多信息,然后您就可以找到
pathName item_cget entryPath col option
但它不像我预期的那样工作
value = self.cl.hlist.item_cget('CL1.Item1', 0, 'text')
# _tkinter.TclError: unknown option "text"
您必须使用"-text"
代替"text"
value = self.cl.hlist.item_cget('CL1.Item1', 0, '-text')