2012-04-17 63 views
0

在OS X上,ttk.Style().configure('TLabelframe.label', font='helvetica 14 bold')可用於更改ttk.LabelFrame窗口小部件使用的字體。在Windows上,ttk.Style().configure('TLabelframe.label', font='arial 14 bold')除了將相同的字體信息返回到ttk.Style().lookup('TLabelframe.label','font')之外沒有任何效果。如何在Windows中使用ttk主題窗口小部件更改字體

我試過不同的字體名稱和格式,創建派生的樣式,使用TkDefaultFont,只是改變大小,以及不同的小部件(TButton.label,TCheckbutton.label)。到目前爲止,無論我嘗試了什麼,它總是使用默認大小的TkDefaultFont。

更改python27/tcl/tk8.5/ttk/xpTheme.tcl(Windows上的默認主題)中的字體設置確實會更改顯示的字體。從主題設置中刪除-font TkDefaultFont設置不會改變顯示內容。

任何有關如何實際工作的建議?

編輯:我以前沒有嘗試更改Label小部件的字體,並且實際上這個字體可以工作。

回答

0

我相信這方面的代碼是越野車,並會打開一張票。使用'TLableframe.Label'(注意'Label'中的大寫字母'L')。'TButton.label'和'TButton.Label'不起作用,但'TButton'起作用;'TCheckbutton'是一樣的。無法改變字體的「TEntry」以任意組合方式,包括添加「textarea的。」

0

它看起來像ttk.LabelFrame,你必須創建一個單獨的ttk.Label小部件,然後使用labelwidget=操作將其分配給LabelFrame。您可以在Label小部件上設置任意字體/樣式,這些字體/樣式將反映在LabelFrame中。請注意,您不需要爲Label小部件調用幾何管理器,只需實例化它,然後將其分配給LabelFrame。

這也意味着你可以分配幾乎所有你想要的小工具,s例如ttk.Checkbutton,如果您想控制LabelFrame中的子控件的狀態。您必須爲此編寫代碼,但從視覺上來說,它會根據Checkbutton的狀態啓用/禁用子控件。

來源:http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/ttk-LabelFrame.html

相關問題