在Linux上,我想更改菜单的背景颜色,并使浮雕变得平坦。我已经想好了怎么做,但当鼠标悬停在菜单上时,带有浮雕的旧背景颜色就会出现。
from tkinter import *
from tkinter.ttk import *
root = Tk()
bar = Menu(root, background='red', relief='flat')
menu = Menu(bar, background='red', relief='flat')
menu.add_command(label='Open')
menu.add_command(label='Save')
menu.add_command(label='Exit')
bar.add_cascade(label='File', menu=menu)
root.config(menu=bar)
root.mainloop()
当鼠标悬停在菜单上时,如何将背景更改为蓝色(没有浮雕)?
2条答案
按热度按时间yzckvree1#
我认为您正在寻找
activebackground
选项。该选项控制鼠标悬停时的背景颜色。不过,我不确定会不会得到缓解。我看不出任何缓解选项之间的区别,但我猜这是因为我使用的是Windows。zbdgwd5y2#
我知道这比这个问题晚了很多年,但肯定有很多人想要一份平淡的救济菜单。
在Linux上,您可以像上面提到的@fhdrsdg那样更改背景颜色(
activebackground='blue', background='white'
将为所选项目提供白色菜单背景和蓝色背景)。然后,您可以通过设置
relief='flat'
或border=0
(使菜单栏和每个下拉菜单的边缘平坦)和activeborderwidth=0
(从所选菜单项中删除凸起的浮雕)来使浮雕变平。这在菜单栏和下拉菜单上都有效。这不会删除向右指向层叠菜单选项的箭头上的浮雕,但会删除所有其他浮雕。
Linux上的默认Tk菜单
Linux上的平面浮雕和重新上色的Tk菜单
最后,一个稍微不那么难看的菜单,更符合ttkhemes‘微风’的主题。我希望我早在几年前就意识到了这一点。