[英]tkinter treeview change column font size
現在我有這三個代碼:
tree["columns"] = ("one", "two", "three")
tree.column("one", width=150)
tree.column("two", width=150)
tree.column("three", width=150)
tree.heading("one", text="Naar")
tree.heading("two", text="Spoor")
tree.heading("three", text="Vetrektijd")
tree['show'] = 'headings'
但是我想做的是將三列中的字體大小更改為20,但是我該怎么做? 由於在互聯網上,我讀到一些有關Style()的信息,但這在我的代碼中不起作用
有兩種解決方案值得考慮。
首先是您所指出的Style()
的使用,這將使我們設置Treeview.Heading
文本的樣式(如果我們要更改它)。
看起來類似於以下內容:
from tkinter import *
import tkinter.ttk as ttk
root = Tk()
tree = ttk.Treeview(root)
tree.pack()
style = ttk.Style()
style.configure("Treeview.Heading", font=(None, 100))
tree["columns"] = ("one", "two", "three")
tree.column("one", width=150)
tree.column("two", width=150)
tree.column("three", width=150)
tree.heading("one", text="Naar")
tree.heading("two", text="Spoor")
tree.heading("three", text="Vetrektijd")
tree['show'] = 'headings'
這可以通過樣式化小部件內的特定元素來實現。 讓我們分解一下。
style = ttk.Style()
告訴style = ttk.Style()
我們正在創建一種樣式,並將其存儲在變量style
內部。
style.configure()
允許我們配置剛剛創建的樣式。
"Treeview.Heading"
是列標題的元素的名稱。
font=(None, 100)
是一種“騙人的”方式,無需更改字體本身即可增加字體大小。 如果要更改字體樣式,請使用所需的字體替換“ None
。 也許Comic Sans MS
。
另一個選擇是使用nametofont
內置的名為nametofont
,讓我們更深入地了解字體。
我們可以執行以下操作:
from tkinter import *
from tkinter.font import nametofont
import tkinter.ttk as ttk
root = Tk()
tree = ttk.Treeview(root)
tree.pack()
#nametofont("TkHeadingFont").configure(size=100)
tree["columns"] = ("one", "two", "three")
tree.column("one", width=150)
tree.column("two", width=150)
tree.column("three", width=150)
tree.heading("one", text="Naar")
tree.heading("two", text="Spoor")
tree.heading("three", text="Vetrektijd")
tree['show'] = 'headings'
哪個似乎可以達到相同的結果,對嗎?
我們在這里所做的不同實際上是將TkHeadingFont
屬性的字體修改為TkHeadingFont
並告訴它將其大小更改為100
。 這意味着,如果您要在其他地方使用該字體,它也會以相同的樣式出現。
但是,這涉及到from tkinter.font import nametofont
在程序頂部from tkinter.font import nametofont
聲明。
從美學上講,這兩種方法都可以達到相同的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.