当checkbox在树vi中选中时,checkbox值打印两次

2024-03-28 17:39:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用checkbox实现树视图。在

以下是我的代码:

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

有一个问题;如果选中了一个复选框,那么对于单次检查,checkbox的值会打印两次。在

有谁能帮我解决这个问题,让这个值打印一次吗?在


Tags: textselfaddclmaindefrootitem
1条回答
网友
1楼 · 发布于 2024-03-28 17:39:05

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

相关问题 更多 >