Python3/tkinter 有没有办法改变 ttk.Menubutton 中箭头的背景颜色?

In Python3/tkinter Is there a way to change the background color of the arrows in a ttk.Menubutton?

我有一个使用 ttk 小部件的 tkinter 界面,并希望在 macOSX 中有一个带有灰色箭头的 ttk.MenuButton。这可能吗?

我正在使用此代码创建我的 Menubuttonself.topframe 是一个 ttk.Frame 对象):

self.label_menu_btn = ttk.Label(self.topframe, font=self.btnFont, foreground=self.btnTxtColor, text="Copiar…")
self.menu_btn =  ttk.Menubutton (self.topframe, text="•••")
self.menu_btn.menu  =  Menu (self.menu_btn, tearoff=0)
self.menu_btn["menu"] =  self.menu_btn.menu

self.menu_btn.menu.add_command(label="Número de objeto", command=self.copiar_obj_num, accelerator="Command+c")

这是我的按钮的样子:

这是我在另一个应用程序中找到的,类似于我想要完成的:

如果您想要使按钮的颜色(“...”所在的位置为灰色),那么您只需在 ttk.Menubutton 中插入 'bg' 选项即可像这样的行:

self.menu_btn =  ttk.Menubutton (self.topframe, text="•••", bg= "gray")

要使用 ttk 执行此操作,您需要先编辑样式,然后将其应用到小部件。它看起来像这样。

s = ttk.Style()
s.configure('MyStyle.TMenubutton', background='pink')

var = tk.StringVar()
widget = ttk.OptionMenu(root, var, 'ANY', 'ANY', '0', '1', style="MyStyle.TMenubutton")

其中“MyStyle”是您正在创建的样式的名称,“TMenubutton”是您要分叉的样式的名称。