簡體   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