Creating a Treeview with Checkboxes
Question: I am trying to build an application based on the following usage example ([How
to create a tree view with checkboxes in
Python](http://stackoverflow.com/questions/5104330/how-to-create-a-tree-view-
with-checkboxes-in-python)).

This example builds a `Treeview` with checkboxes using the `Tix` library.
However, when I run this example, whenever a `Checkbox` is checked, the text
label of that box disappears.

Could someone help me to avoid the behaviour mentioned just above?

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


Answer: The problem is that the default foreground color on selection is the same as
the background color. The problem is resolved by adding the following line of
code after the initialization of self.cl:

    
    
    self.cl.hlist.config(selectforeground="black")
    

