Tkinter OptionMenu:如何配置下拉列表的字体大小?

Tob*_*erJ 6 python tkinter tkinter.optionmenu

我有一个选项菜单列表,其中有很多要在触摸屏设备上使用的条目。我可以使用 更改所选类别的字体大小PopMenue.config(font=[something]),但是当选择下拉菜单时,条目以默认小字体显示:

示例图片 - 红框包围文本以增加字体

选项菜单下拉菜单的屏幕截图,使用比选项菜单本身更小的字体

如何从下拉菜单条目(红框)修改字体大小?

代码片段:

helv36 = tkFont.Font(family='Helvetica', size=30, weight=tkFont.BOLD)
popupMenu.config(font=helv36)
Run Code Online (Sandbox Code Playgroud)

mar*_*eau 7

您必须使用该nametowidget()方法获取下拉菜单小部件对应的小部件对象,然后设置配置。

这是一个可运行的示例:

import tkinter as tk
import tkinter.font as tkFont

root = tk.Tk()
root.geometry('300x200')

helv36 = tkFont.Font(family='Helvetica', size=36)
options = 'eggs spam toast'.split()
selected = tk.StringVar(root, value=options[0])

choose_test = tk.OptionMenu(root, selected, *options)
choose_test.config(font=helv36) # set the button font

helv20 = tkFont.Font(family='Helvetica', size=20)
menu = root.nametowidget(choose_test.menuname)  # Get menu widget.
menu.config(font=helv20)  # Set the dropdown menu's font
choose_test.grid(row=0, column=0, sticky='nsew')

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

以下两张屏幕截图显示了默认与修改后的下拉菜单文本大小:

下拉菜单的屏幕截图