1

在 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').

我尝试了不同的字体名称和格式,创建派生样式,使用 TkDefaultFont 并仅更改大小,以及不同的小部件(TButton.label、TCheckbutton.label)。到目前为止,无论我尝试了什么,它似乎总是以默认大小使用 TkDefaultFont。

更改 python27/tcl/tk8.5/ttk/xpTheme.tcl(Windows 上的默认主题)中的字体设置确实会更改显示的字体。从主题设置中删除-font TkDefaultFont设置不会更改显示的内容。

关于这实际上如何工作的任何建议?

编辑:我之前没有尝试过更改 Label 小部件的字体,并且那个确实有效。

4

2 回答 2

0

看起来对于ttk.LabelFrame,您必须创建一个单独的ttk.Label小部件,然后使用labelwidget=操作数将其分配给 LabelFrame 。您可以在 Label 小部件上设置您想要的任何字体/样式,这将反映在 LabelFrame 中。请注意,您不会为 Label 小部件调用几何管理器。只需实例化它,然后将其分配给 LabelFrame。

ttk.Checkbutton这也意味着,如果您想控制 LabelFrame 中子控件的状态,您几乎可以分配您想要的任何小部件,例如 a 。您必须为此编写代码,但在视觉上,它会根据 Checkbutton 的状态启用/禁用子控件。

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

于 2013-06-01T05:18:16.023 回答
0

我相信这方面的代码有问题,会开票。使用'TLableframe.Label'(注意'Label'中的大写'L'有效。'TButton.label'和'TButton.Label'不起作用,但只有'TButton'起作用;'TCheckbutton'是一样的。我是无法使用任何组合更改“TEntry”的字体,包括添加“textarea”。

于 2012-04-20T16:28:35.790 回答