如何更改 ttk::combobox 的字体大小
How to change font size of ttk::combobox
我使用 ttk-widgets 并想更改 ttk::combobox 小部件的字体大小。正如您在示例中看到的,标签和按钮的字体大小发生了变化,但组合框的字体大小没有变化。
font create MyFont -family Helvetica -size 12 -slant roman -weight normal
ttk::style theme use default
ttk::style configure TLabel -font MyFont
ttk::style configure TButton -font MyFont
ttk::style configure TCombobox -font MyFont
set Liste {Anton Berta Caesar}
ttk::label .lb -text "Label"
ttk::combobox .cb -values $Liste
ttk::button .bt -text "Change Fontsize" -command {font configure MyFont -size 20}
pack .lb .cb .bt
顺便说一句,TMenubutton 也有同样的问题,ttk::entry 和 ttk::spinbox。
ttk::combobox 小部件的字体直接显示为小部件选项。在创建时设置(或使用 configure
方法):
ttk::combobox .cb -values $Liste -font MyFont
要更改下拉列表中使用的字体,您需要一些更神秘的东西(因为它在内部使用传统的 Tk 列表框而不是样式化的东西)before您创建组合框(或者更确切地说,在您第一次将其弹出之前,但这很棘手)因为选项“数据库”仅在 Tk 中创建小部件期间读取:
option add *ComboboxPopdown.f.l.font MyFont
那*ComboboxPopdown.f.l.font
是神秘的部分。 *ComboboxPopdown
表示要影响所有 class 为 ComboboxPopdown
的小部件(这是由组合框绑定创建的临时弹出对话框的 class),然后我们 select 那个小顶层中的 .f.l
小部件,它是列表框,然后我们为 font
属性 提供覆盖,否则它将是默认值。
我使用 ttk-widgets 并想更改 ttk::combobox 小部件的字体大小。正如您在示例中看到的,标签和按钮的字体大小发生了变化,但组合框的字体大小没有变化。
font create MyFont -family Helvetica -size 12 -slant roman -weight normal
ttk::style theme use default
ttk::style configure TLabel -font MyFont
ttk::style configure TButton -font MyFont
ttk::style configure TCombobox -font MyFont
set Liste {Anton Berta Caesar}
ttk::label .lb -text "Label"
ttk::combobox .cb -values $Liste
ttk::button .bt -text "Change Fontsize" -command {font configure MyFont -size 20}
pack .lb .cb .bt
顺便说一句,TMenubutton 也有同样的问题,ttk::entry 和 ttk::spinbox。
ttk::combobox 小部件的字体直接显示为小部件选项。在创建时设置(或使用 configure
方法):
ttk::combobox .cb -values $Liste -font MyFont
要更改下拉列表中使用的字体,您需要一些更神秘的东西(因为它在内部使用传统的 Tk 列表框而不是样式化的东西)before您创建组合框(或者更确切地说,在您第一次将其弹出之前,但这很棘手)因为选项“数据库”仅在 Tk 中创建小部件期间读取:
option add *ComboboxPopdown.f.l.font MyFont
那*ComboboxPopdown.f.l.font
是神秘的部分。 *ComboboxPopdown
表示要影响所有 class 为 ComboboxPopdown
的小部件(这是由组合框绑定创建的临时弹出对话框的 class),然后我们 select 那个小顶层中的 .f.l
小部件,它是列表框,然后我们为 font
属性 提供覆盖,否则它将是默认值。