初学python还是习惯用tkinter来做界面,因为没找到更好的表格控件,所以都是用treeview来实现表格,有时候为了突出显示某些内容,最好的方式就是改变颜色,而treeview好像不能单独改变某个值的颜色,只能改变整行。
这里用到的就是tree.tag_configure(),在insert的时候,赋值tags,后面根据tags的值来对行进行设置颜色。
直接上代码:
from tkinter import *
import tkinter as tk
from tkinter import ttk
login = tk.Tk()
login.title("treeview行变色")
tree=ttk.Treeview(login)
s=(-1,2,3,-2.2)
for i in range(4):
if s[i]>0:#当数值大于0,显示为红色
tree.insert('', 'end', text = s[i], tags = ('positive',))
tree.tag_configure('positive', background='red')
else:#否则显示为绿色
tree.insert('', 'end', text = s[i], tags = ('negative',))
tree.tag_configure('negative', background='green')
tree.pack()
login.mainloop()
这里有个问题没找到解决办法,就是只能在python3.6运行能看到颜色,3.7和3.8都不会变色。