如何编辑 ttk.OptionMenu 的 ttk 样式

How to edit ttk style for ttk.OptionMenu

最近开始使用 ttk 来改进我的 GUI 外观,但我在编辑 ttk.OptionMenu 样式时遇到了困难。正如我所理解的,下面的代码应该改变所有单选按钮和选项菜单的背景。对于 Radiobutton(以及我尝试过的其他元素),它工作得很好,但 OptionMenu 根本没有改变。

s = ttk.Style()
s.configure("TRadiobutton", background="grey")
s.configure("TOptionMenu", background="grey")

OptionMenu 的样式名称不是 TOptionMenu。对于任何小部件,样式名称都可以使用 widget.winfo_class() 获取,对于 OptionMenu 这个 returns TMenubutton.

所以 s.configure("TMenubutton", background="red") 产生:

要更改下拉菜单的背景:

my_optionmenu["menu"].configure(bg="black")

如果你运行:

print(my_optionmenu["menu"].keys())

您获得了可以为 OptionMenu 小部件更改的所有选项