繁体   English   中英

如何在 Tkinter TreeView 中设置行高?

[英]How can I set the row height in Tkinter TreeView?

我最近写了一个需要跨平台的小应用程序。 我使用 Python 和 Tkinter 作为 GUI。

它工作得很好,但最近我买了一台带有 hiDPI 屏幕的新笔记本电脑,它似乎弄乱了 TreeView(见下图)。 与行的高度相比,文本高度太大。

该图片取自以访客身份运行 Windows 7 的虚拟机。 我必须将文本设置为更大的尺寸 (125%) 才能在屏幕上阅读(我尝试过的所有其他程序都可以在此设置下正常工作)。

有没有办法在 Tkinter TreeView 中设置行的高度? 我在文档中没有看到类似的内容。

在此处输入图片说明

s = ttk.Style()
s.configure('Treeview', rowheight=40) # repace 40 with whatever you need

我已经有一个字体大小的变量设置,并希望避免为行高设置变量。 所以我的代码看起来像这样:

style = ttk.Style()
style.configure("Treeview.Heading", font=(None, LARGE_FONT), \
                rowheight=int(LARGE_FONT*2.5))
style.configure("Treeview", font=(None, MON_FONTSIZE), \
                rowheight=int(MON_FONTSIZE*2.5))

LARGE_FONT设置为14 ,行高设置为35 MON_FONTSIZE设置为12 ,行高计算为30

最终结果具有系统字体的正确间距 (IMO)。 其他字体系列的 YMMV:

wman gnome gsettings.png

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM