当我在Tkinter中选中一个复选框时,值会消失

时间:2017-12-13 10:14:04

标签: python checkbox tkinter tix

当我选中Tkinter中的复选框时,复选框的值会消失。

此问题仅出现在Linux中。

我在Windows中使用相同的代码并且工作正常。

我把这个链接称为gui

How to create a tree view with checkboxes in Python

代码:

import Tkinter as tk

import Tix as tix

def  selectItem(item):

    if cl.getstatus(item) == 'on':
        print("Checked")
    if cl.getstatus(item) == 'off':
        print("Unchecked")

root = tix.Tk()
cl = tix.CheckList(root,browsecmd=selectItem)
cl.pack()
cl.hlist.add("CL1", text="Test")
cl.setstatus("CL1","off")
cl.hlist.add("CL1.Item1", text="child")
cl.setstatus("CL1.Item1","off")
root.mainloop()

检查前:

enter image description here

检查后:

enter image description here

正如你在图片中看到的那样,复选框Test在点击Test后就消失了。这个问题只发生在Linux上。任何人都可以给我任何解决方案吗?

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。实际上背景和前景的颜色是相同的。因此我改变了前景和背景的颜色。

import Tkinter as tk

import Tix as tix

def  selectItem(item):

    if cl.getstatus(item) == 'on':
        print("Checked")
    if cl.getstatus(item) == 'off':
        print("Unchecked")

root = tix.Tk()
cl = tix.CheckList(root,browsecmd=selectItem)
cl.hlist.config(bg='White',bd=0,selectmode='none',selectbackground='white',selectforeground='black',drawbranch=True)
cl.pack()
cl.hlist.add("CL1", text="Test")
cl.setstatus("CL1","off")
cl.hlist.add("CL1.Item1", text="child")
cl.setstatus("CL1.Item1","off")
root.mainloop()