Python ttk.OptionMenu选项字体样式

时间:2019-02-11 18:45:01

标签: python tkinter ttk optionmenu

在将其称为StackOverflow上任何现有帖子的副本之前,请阅读:

我有一个ttk.OptionMenu小部件,似乎无法改变小部件中选项的样式。我应用的样式仅修改了所选条目的显示框,但是我对更改下拉菜单的字体样式感兴趣,以便它也与所选选项匹配。

import tkinter as tk
from tkinter import ttk

root=tk.Tk()

optList1 = [
    "1",
    "2",
    "3"
    ]

var1 = tk.StringVar(root)
var1.set(optList1[0]) #first value default

someStyle=ttk.Style()
someStyle.configure('my.TMenubutton',font=('Futura',20))

optMenu1 = ttk.OptionMenu(root, var1, optList1[0], *optList1, style='my.TMenubutton')
optMenu1.pack()

root.mainloop()

我不确定为什么定义的样式不适用于显示的选项,对此我将不胜感激。我怀疑下拉菜单使用的是一些单独定义的字体样式,可能是系统字体设置。

2 个答案:

答案 0 :(得分:0)

您必须使用以下方法单独配置下拉选项:

optMenu1['menu'].configure(font=('Futura',20))

代码如下:

import tkinter as tk
from tkinter import ttk

root=tk.Tk()

optList1 = [
    "1",
    "2",
    "3"
    ]

var1 = tk.StringVar(root)
var1.set(optList1[0]) #first value default

someStyle=ttk.Style()
someStyle.configure('my.TMenubutton',font=('Futura',20))

optMenu1 = ttk.OptionMenu(root, var1, optList1[0], *optList1, style='my.TMenubutton')
optMenu1['menu'].configure(font=('Futura',20))#add this to your code it will change style for dropdownlist
optMenu1.pack()

root.mainloop()

答案 1 :(得分:-1)

  

尝试:

optMenu1['menu'].configure(font=('Futura',20))

stovfl,二月11(2019)在22:15