0

当我在 Tkinter 中选中一个复选框时,复选框的值消失了。

此问题仅出现在 Linux 中。

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

我参考了这个链接来制作这个 gui

如何在 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()

检查前:

在此处输入图像描述

检查后:

在此处输入图像描述

正如您在图像中看到的那样,Test单击“测试”后复选框消失了。此问题仅在 Linux 中发生。任何人都可以给我任何解决方案吗?

4

1 回答 1

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()  
于 2017-12-14T08:39:06.873 回答