如何在窗口中使用 ttk 主题小部件更改字体



在OS X上,ttk.Style().configure('TLabelframe.label', font='helvetica 14 bold')可以更改ttk使用的字体。标签框架小部件。 在 Windows 上,除了将相同的字体信息返回到 ttk.Style().lookup('TLabelframe.label','font') 之外,ttk.Style().configure('TLabelframe.label', font='arial 14 bold')没有任何效果。

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

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

关于这实际上是如何工作的有什么建议吗?

编辑:我以前没有尝试过更改标签小部件的字体,而且那个确实有效。

我相信

这个领域的代码有问题,会打开一张票。 使用"TLableframe.Label"(注意"标签"中的大写"L"有效。 "TButton.label"和"TButton.Label"不起作用,但只有"TButton"起作用;"呵呵"是一样的。 我无法用任何组合更改"TEntry"的字体,包括添加"文本区域"。

看起来对于

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

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

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

相关内容

  • 没有找到相关文章

最新更新