Мне было просто любопытно, есть ли способ, чтобы каждая опция в моем OptionMenu имела другой шрифт? Так что в моем случае каждая опция будет иметь соответствующий шрифт. Пока все, что я мог найти в Интернете, - это просто установить для всех параметров один и тот же шрифт. Вот мой код: РЕДАКТИРОВАТЬ: Я получил его, где я могу видеть правильный шрифт только после того, как щелкну.
# function for font selection
def selectedFont(name, index, mode):
#fontLabel = tkinter.Label(top, text = font_clicked.get()).pack()
global font_path
if font_clicked.get() == 'Calibri':
font_path = "C:\Windows\Fonts\calibri.ttf"
dropDown.config(font = ('Calibri', 12))
return font_path
elif (font_clicked.get() == 'Comic Sans'):
font_path = "C:\Windows\Fonts\comic.ttf"
dropDown.config(font = ('Comic Sans MS', 12))
return font_path
elif (font_clicked.get() == 'Broadway'):
font_path = "C:\Windows\Fonts\BROADW.ttf"
dropDown.config(font = ('Broadway', 12))
return font_path
elif (font_clicked.get() == 'STENCIL'):
font_path = "C:\Windows\Fonts\STENCIL.ttf"
dropDown.config(font = ('Stencil', 12))
return font_path
elif (font_clicked.get() == 'Blackadder ITC'):
font_path = "C:\Windows\Fonts\ITCBLKAD.ttf"
dropDown.config(font = ('Blackadder ITC', 12))
return font_path
# options for font selection
optionsFont = [
"Calibri",
"Comic Sans",
"Broadway",
"STENCIL",
"Blackadder ITC"
]
#### drop down menu ####
font_clicked = tkinter.StringVar()
font_clicked.set(optionsFont[0])
dropDown = tkinter.OptionMenu(top, font_clicked, *optionsFont)
dropDown["menu"].config(bg="light pink", fg="black")
dropDown.config(bg = "gray81")
dropDown.pack()
dropDown.place(x=50,y=108, height = 30, width = 250)
Callbackname = font_clicked.trace_variable('w', selectedFont)