在树视图中选中复选框时,复选框值打印两次



我需要用复选框实现树视图。

下面是我的代码:

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()

有问题;如果选中某个复选框,则复选框的值将打印两次以进行单次检查。

任何人都可以帮助我解决问题,以便打印一次值?

我认为是因为单击鼠标被归类为一个事件,然后将鼠标释放为另一个事件。如果按住它,则只会看到打印一次的值。释放它,再次调用 print 语句。

相关内容

  • 没有找到相关文章

最新更新