相关疑难解决方法(0)

tkinter ttk 树视图彩色行

我正在尝试使用标签和 tag_configure 为 tkinter 树视图对象中的行设置颜色。

之前有过关于着色行的讨论,该讨论相当陈旧,似乎不再适用于 Python3:

ttk 树视图:交替行颜色

我添加了一个简短的例子。对我来说,所有行都保持白色,与我是在插入命令之前还是之后执行 tag_configure 无关。

import tkinter as tk
import tkinter.ttk as ttk

root = tk.Tk()
w = tk.Label(root, text="Hello, world!")
w.pack()

lb= ttk.Treeview(root, columns=['number', 'text'], show="headings", height =20)
lb.tag_configure('gr', background='green')
lb.column("number", anchor="center", width=10)    
lb.insert('',tk.END, values = ["1","testtext1"], tags=('gr',))
lb.insert('',tk.END, values = ["2","testtext2"])

lb.pack()

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

发生了什么变化或我错过了什么?

编辑: 似乎这是一个具有解决方法的新已知错误,但我无法正常工作:https : //core.tcl-lang.org/tk/tktview?name=509cafafae

EDIT2: 我现在使用 tk 版本 8.6.10(构建 hfa6e2cd_0,通道 conda-forge)和 python 3.7.3。任何人都可以用这个版本的 python 和 tk 重现这个错误吗?

python treeview tkinter ttk

6
推荐指数
1
解决办法
647
查看次数

插入带有标签的行时的 Tkinter Treeview 问题

我刚刚从 python 3.6 切换到 python 3.7。我有一个函数,可以在带有标签的 Treeview 树中插入行。标签用于为插入到树中的行提供前景色和背景色。当我使用 python 3.6 时,我的代码工作正常。一旦我切换到 3.7,插入的行没有给出背景或前景色,而只有白色背景和黑色前景色。

tkinter.ttk 从 python 3.6 到 3.7 似乎没有关于标签配置或树插入的语法变化。

tree.tag_configure('MATCHED', foreground='dark green', background='gray98')
tree.tag_configure('UNMATCHED', foreground='red2', background='gray98')

if match_status== '1':
    tree.insert('', 'end', text=df_row, values=my_value, tag='MATCHED')
elif match_status == '0':
    tree.insert('', 'end', text=df_row, values=my_value, tag='UNMATCHED')`
Run Code Online (Sandbox Code Playgroud)

预计当行被插入到树中时会被赋予正确的背景和前景色。

任何帮助表示赞赏。

tags treeview tkinter insert

5
推荐指数
2
解决办法
2263
查看次数

标签 统计

tkinter ×2

treeview ×2

insert ×1

python ×1

tags ×1

ttk ×1