[英]Format Text in tkinter.ttk.Treeview column
我想知道如何在ttk.Treeview專欄中證明文本的合理性。 以下是我的意思的一個例子。 請注意日期以及數字之間的數字不正確。 我認為它與間距有關,但我可能是錯的。
編輯:它是用Python 3編寫的。
#! coding=utf-8
import pickle
import matplotlib.pyplot as plt
import tkinter as tk
from tkinter import ttk
# Create Example
root = tk.Tk()
root.minsize(200,300)
tree = ttk.Treeview(root,columns=("date"))
tree.heading("#0" , text='Sample', anchor=tk.W)
tree.column("#0", stretch=0)
tree.heading("date", text='Date', anchor=tk.E)
tree.column("date", stretch=0)
ABC = ["A","B","C","D","E"]
dates = ["3.4.2013", "14.10.400", "24.12.1234", "1.10.1", "14.7.123"]
tree.insert("",iid="1", index="end",text="No Format")
for i in range(len(ABC)):
dates2 = dates[i].split(".")
date = "{:<2}.{:<2}.{:<4}".format(dates2[0],dates2[1],dates2[2])
tree.insert("1",iid="1"+str(i), index="end",text=ABC[i], value=[dates[i]])
tree.see("14")
tree.insert("",iid="2", index="end",text="With Format")
for i in range(len(ABC)):
dates2 = dates[i].split(".")
date = "{:>2}.{:>2}.{:>4}".format(dates2[0],dates2[1],dates2[2])
tree.insert("2",iid="2"+str(i), index="end",text=ABC[i], value=[date])
tree.see("24")
tree.pack(expand=True,fill=tk.BOTH)
root.mainloop()
使用tkinter.ttk.Treeview.tag_configure
使用monospace字體:
...
for i in range(len(ABC)):
dates2 = dates[i].split(".")
date = "{:>2}.{:>2}.{:>4}".format(dates2[0],dates2[1],dates2[2])
tree.insert("2",iid="2"+str(i), index="end",text=ABC[i], value=[date],
tag='monospace') # <----
tree.tag_configure('monospace', font='courier') # <----
...
請參見標記選項 。
您可以使用錨選項以與日期標題中的文本對齊相同的方式證明日期列中的文本。
tree.heading("date", text='Date', anchor=tk.E)
tree.column("date", stretch=0, anchor=tk.E)
有關heading
和column
方法的錨點和其他選項的更多詳細信息,請參閱Tkinter 8.5參考:來自New Mexico Tech的Python GUI 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.