为 Treeview Table - Tkinter Python 的标题(文本粗体和背景颜色)添加样式
Add styles to headings (text bold and backgroundcolor) of a Treeview Table - Tkinter Python
我有这个小 Tkinter GUI,其中有一个 table。我想在标题中将文本加粗并更改其背景颜色。我知道我们可以通过 ttk.Style() 和配置来做到这一点,但 table 中没有任何变化。它看起来还是很普通,还是我做错了。
请帮忙。
from tkinter import ttk
import tkinter as tk
from tkinter import *
window = tk.Tk()
window.state('zoomed')
treev = ttk.Treeview(window, selectmode ='browse')
treev.place(x= 600, y= 200, width= 350, height=350)
treev["columns"] = ('1', '2')
treev['show'] = 'headings'
style = ttk.Style()
style.configure('mytreeview.Headings', background='gray', font=('Arial Bold', 10))
ID = [1,2,3,4,5]
Names = ['Tom', 'Rob', 'Tim', 'Jim', 'Kim']
treev.column("1", width = 100, anchor ='c')
treev.column("2", width = 100, anchor ='c')
treev.heading("1", text ="ID")
treev.heading("2", text ="Names")
for x, y in zip(ID, Names):
treev.insert("", 'end', values =(x, y))
window.mainloop()
要配置样式,您需要一个名为这样的布局:
style.layout('my.Treeview',
[('Treeview.field', {'sticky': 'nswe', 'border': '1', 'children': [
('Treeview.padding', {'sticky': 'nswe', 'children': [
('Treeview.treearea', {'sticky': 'nswe'})
]})
]})
])
此代码创建一个名为 my.Treeview 的新布局,并复制 Treeview 的数据。
然后,在使用该名称创建布局后,您可以配置它:
style.configure('my.Treeview.Heading', background='gray', font=('Arial Bold', 10))
并且不要忘记在您喜欢的小部件上使用该样式:
treev = ttk.Treeview(window, selectmode ='browse',style='my.Treeview')
我有这个小 Tkinter GUI,其中有一个 table。我想在标题中将文本加粗并更改其背景颜色。我知道我们可以通过 ttk.Style() 和配置来做到这一点,但 table 中没有任何变化。它看起来还是很普通,还是我做错了。
请帮忙。
from tkinter import ttk
import tkinter as tk
from tkinter import *
window = tk.Tk()
window.state('zoomed')
treev = ttk.Treeview(window, selectmode ='browse')
treev.place(x= 600, y= 200, width= 350, height=350)
treev["columns"] = ('1', '2')
treev['show'] = 'headings'
style = ttk.Style()
style.configure('mytreeview.Headings', background='gray', font=('Arial Bold', 10))
ID = [1,2,3,4,5]
Names = ['Tom', 'Rob', 'Tim', 'Jim', 'Kim']
treev.column("1", width = 100, anchor ='c')
treev.column("2", width = 100, anchor ='c')
treev.heading("1", text ="ID")
treev.heading("2", text ="Names")
for x, y in zip(ID, Names):
treev.insert("", 'end', values =(x, y))
window.mainloop()
要配置样式,您需要一个名为这样的布局:
style.layout('my.Treeview',
[('Treeview.field', {'sticky': 'nswe', 'border': '1', 'children': [
('Treeview.padding', {'sticky': 'nswe', 'children': [
('Treeview.treearea', {'sticky': 'nswe'})
]})
]})
])
此代码创建一个名为 my.Treeview 的新布局,并复制 Treeview 的数据。 然后,在使用该名称创建布局后,您可以配置它:
style.configure('my.Treeview.Heading', background='gray', font=('Arial Bold', 10))
并且不要忘记在您喜欢的小部件上使用该样式:
treev = ttk.Treeview(window, selectmode ='browse',style='my.Treeview')