我需要用复选框实现树视图。
以下是我的代码:
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="checklist1")
self.cl.hlist.add("CL1.Item1", text="subitem1")
self.cl.hlist.add("CL2", text="checklist2")
self.cl.hlist.add("CL2.Item1", text="subitem1")
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()
有问题;如果选中复选框,则复选框的值将打印两次以进行单次检查。
有人可以帮我解决问题,以便打印一次价值吗?
答案 0 :(得分:0)
我认为因为点击鼠标会被归类为一个事件,然后将鼠标释放为另一个事件。如果按住它,您会看到仅打印一次的值。释放它并再次调用print语句。