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

时间:2016-06-30 16:12:50

标签: python-3.x tkinter ttk

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

我正在使用此代码创建Menubuttonself.topframettk.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")

这就是我的按钮的样子:

enter image description here

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

enter image description here

2 个答案:

答案 0 :(得分:0)

如果你想要制作按钮的颜色,那里的'...'是灰色的那么你要做的就是在ttk.Menubutton行插入'bg'选项,如下所示:

n method and the -split "

答案 1 :(得分:0)

要使用 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”是您从中分叉的样式的名称。