问题是ttk组合框的下拉菜单实际上是一个简单的Tkinter列表框,因此它不受ttk样式的影响。如果可以从组合框获得对列表框的引用,则更改字体将很容易。但是,我在Tkinter找不到找到方法。
根据
patthoyts的非常有用的评论编辑。
您可以使用以下方法更改属于组合框的所有列表框的字体:
bigfont = tkFont.Font(family="Helvetica",size=20)root.option_add("*TCombobox*Listbox*Font", bigfont)这将更改属于ttk组合框且在调用此组合后创建的所有列表框小部件的字体。
这确实会影响 所有
新的组合框,但是我想这就是您想要的。如果只希望此组合框使用新字体,则可以选择将此组合框创建为最后一个小部件,并
self.parent.option_add("*TCombobox*Listbox*Font",bigfont)在创建此组合框之前立即调用。然后,只有此组合框下的列表框将具有新字体。如果您希望所有小部件都使用更大的字体,则可以使用
root.option_add("*Font", bigfont)或者您可以按照此答案中的说明更改默认字体。



