Python 更改tkinter菜单栏的颜色
我有下面的代码,我想做的是改变菜单栏的颜色,使其与我的窗口相同。我尝试了您在下面看到的内容,将Python 更改tkinter菜单栏的颜色,python,tkinter,Python,Tkinter,我有下面的代码,我想做的是改变菜单栏的颜色,使其与我的窗口相同。我尝试了您在下面看到的内容,将bg=“#20232A”添加到menubar,但这似乎没有任何影响 我的问题:下图是窗口(尽管是窗口的一个片段),它显示了菜单栏和背景。我希望菜单栏的颜色与下面看到的背景相同,我如何才能做到这一点 无法在Windows或OSX上更改菜单栏的颜色。这在linux上的一些窗口管理器上是可能的,尽管我不确定 原因是菜单栏是使用tkinter不管理的本机小部件绘制的,因此您仅限于平台允许的范围 在Linux上
bg=“#20232A”
添加到menubar
,但这似乎没有任何影响
我的问题:下图是窗口(尽管是窗口的一个片段),它显示了菜单栏和背景。我希望菜单栏的颜色与下面看到的背景相同,我如何才能做到这一点
无法在Windows或OSX上更改菜单栏的颜色。这在linux上的一些窗口管理器上是可能的,尽管我不确定
原因是菜单栏是使用tkinter不管理的本机小部件绘制的,因此您仅限于平台允许的范围 在Linux上,可以:
def main():
root =Tk()
menubar = Menu(root, background='lightblue', foreground='black',
activebackground='#004c99', activeforeground='white')
file = Menu(menubar, tearoff=1, background='lightblue', foreground='black')
file.add_command(label="Receive")
file.add_command(label="Issue")
file.add_command(label="Track")
file.add_command(label="Search")
file.add_command(label="Allocate")
file.add_separator()
file.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="Goods", menu=file)
edit = Menu(menubar, tearoff=0)
edit.add_command(label="Undo")
edit.add_separator()
edit.add_command(label="Cut")
edit.add_command(label="Copy")
edit.add_command(label="Paste")
edit.add_command(label="Delete")
edit.add_command(label="Select All")
menubar.add_cascade(label="Accounts", menu=edit)
help = Menu(menubar, tearoff=0)
help.add_command(label="About")
menubar.add_cascade(label="Help", menu=help)
root.config(menu=menubar)
ex = MainWin()
root.geometry("2000x1391")
root.mainloop()
if __name__ == '__main__':
main()
只需添加前景和背景属性。这是什么操作系统?它在windows上。Python 3.6.4是否有替代解决方案?类似于菜单栏但允许bg的东西?@Chris我想您可以编写自己的类来占据窗口的最顶部。@Chris:您不能简单地将菜单分配给根窗口,而是在顶部放置一个带有菜单按钮的框架。它的外观和行为都不像一个普通的菜单栏,尽管你可以接近它。这真的取决于你是想让某样东西的外观和功能标准化,还是外观和功能略有不同。谢谢,我最终决定坚持标准外观,我想这至少是一种熟悉的美学,并从其他黑暗主题中脱颖而出。
def main():
root =Tk()
menubar = Menu(root, background='lightblue', foreground='black',
activebackground='#004c99', activeforeground='white')
file = Menu(menubar, tearoff=1, background='lightblue', foreground='black')
file.add_command(label="Receive")
file.add_command(label="Issue")
file.add_command(label="Track")
file.add_command(label="Search")
file.add_command(label="Allocate")
file.add_separator()
file.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="Goods", menu=file)
edit = Menu(menubar, tearoff=0)
edit.add_command(label="Undo")
edit.add_separator()
edit.add_command(label="Cut")
edit.add_command(label="Copy")
edit.add_command(label="Paste")
edit.add_command(label="Delete")
edit.add_command(label="Select All")
menubar.add_cascade(label="Accounts", menu=edit)
help = Menu(menubar, tearoff=0)
help.add_command(label="About")
menubar.add_cascade(label="Help", menu=help)
root.config(menu=menubar)
ex = MainWin()
root.geometry("2000x1391")
root.mainloop()
if __name__ == '__main__':
main()