【发布时间】:2020-12-01 13:05:24
【问题描述】:
这适用于 W7、W10 WSL,但不适用于 W10。我在 W7 上使用 python 3.7.3,在 WSL 上使用 3.6.9,在 W10 上使用 3.7.3 (anaconda)。
from tkinter import Tk
from tkinter.ttk import Treeview, Style
root = Tk()
style = Style()
style.configure('lview.Treeview.Heading', background='green', foreground='white')
list_tag = ['Common', 'Scientific', 'English']
list_plant = [
['binahong', 'anredera cordifolia', 'madeira vine' ],
['chien hom', 'persicaria odorata', 'vietnamese coriander' ],
['daun kaduk', 'piper sarmentosum', 'wild pepper'],
['pandan', 'pandanus amaryllifolius', 'screwpine']]
lview = Treeview(root, columns=list_tag[1:], style='lview.Treeview')
# Set up headings
col_index = -1
for tag in list_tag:
col_index += 1
lview.heading(f'#{col_index}', text=tag)
for num, plant in zip(range(len(list_plant)), list_plant):
lview.insert(
parent='',
index='end',
iid=num,
text=plant[0],
values=plant[1:])
lview.pack()
root.mainloop()
在 W7、W10 WSL 上,标题为绿色,但在 W10 上,标题为白色。只有一个白条,因为白底白字不显示任何内容。如果我将前景更改为紫色,则会显示紫色文本,但背景仍然是白色。
W10 上是否有一些设置可以给树视图标题一些颜色?如果没有,我只需将其更改为标准网格即可。
编辑
我在希望中尝试了以下,窗口化的 tclsh
#!/usr/bin/wish
ttk::style configure "lview.Treeview.Heading" -background "green" -foreground "purple"
ttk::treeview .tree -columns "aa bb" -displaycolumns "aa bb" -style "lview.Treeview"
.tree heading aa -text "Scientific" -anchor center
.tree heading bb -text "English" -anchor center
pack .tree
.tree insert {} end -text "binahong" -values [list "anredera cordifolia" "madeira vine"]
.tree insert {} end -text "chien hom" -values [list "persicaria odorata" "vietnamese coriander"]
同样的问题,所以它看起来可能是 W10 上的愿望问题。相同的代码适用于 W7 和 W10 WSL。
【问题讨论】:
标签: python python-3.x tkinter