使用复选框创建树视图

时间:2015-02-12 17:30:16

标签: python checkbox tkinter ttk tix

我正在尝试基于以下用法示例(How to create a tree view with checkboxes in Python)构建应用程序。

此示例使用Treeview库构建带有复选框的Tix。但是,当我运行此示例时,只要选中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()

1 个答案:

答案 0 :(得分:0)

问题是选择时的默认前景色与背景色相同。通过在self.cl:

初始化之后添加以下代码行来解决此问题
self.cl.hlist.config(selectforeground="black")