更改列大小树视图

2024-06-16 14:07:51 发布

您现在位置:Python中文网/ 问答频道 /正文

现在我有三个密码:

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()的东西,但这在我的代码中不起作用


Tags: columnstexttree密码showcolumnwidthone
1条回答
网友
1楼 · 发布于 2024-06-16 14:07:51

有两个解决方案跳入脑海。在

第一个是您所指出的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()告诉tkinter我们正在创建一个样式,并将其存储在变量style中。在

style.configure()允许我们配置刚刚创建的样式

"Treeview.Heading"是列标题的元素名称。在

font=(None, 100)是一种“欺骗”的方法,可以在不改变字体本身的情况下增加字体大小。如果要更改字体样式,请将None替换为所需的任何字体。可能是Comic Sans MS。在


另一个选择是使用tkinter内置的函数nametofont,让我们在更深层次上处理字体。在

我们可以做如下操作:

^{pr2}$

结果似乎是一样的,对吧?在

我们在这里做的不同的是实际上修改tkinter属性为TkHeadingFont的字体,并告诉它将它的大小改为100。这意味着如果你在其他地方使用这种字体,它也会以相同的样式出现。在

但是,这涉及到必须在程序的顶部声明from tkinter.font import nametofont。在

任何一种方法在美学上都能达到同样的效果。在

相关问题 更多 >