我有以下代码,我尝试做的是将菜单栏的颜色更改为与我的窗口相同。我已尝试过您在下面看到的内容,将bg="#20232A"
添加到menubar
,但这似乎没有任何影响..
我的问题:下图是窗口(虽然是窗口的片段),它展示了菜单栏和背景。我希望菜单栏的颜色与下面看到的背景相同,我怎样才能达到这个目的?
from tkinter import *
config = {"title":"Editor", "version":"[Version: 0.1]"}
window = Tk()
window.title(config["title"] + " " +config["version"])
window.config(bg="#20232A")
window.state('zoomed')
def Start():
menubar = Menu(window, borderwidth=0, bg="#20232A") # Tried adding background to this, but it doesent work
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Open")
filemenu.add_command(label="Save")
menubar.add_cascade(label="File", menu=filemenu)
window.config(menu=menubar)
Start()
window.mainloop()
答案 0 :(得分:4)
您无法在Windows或OSX上更改菜单栏的颜色。有可能在linux上的一些窗口管理器上,虽然我不确定。
原因是菜单栏是使用不受tkinter管理的本机小部件绘制的,因此您只能使用平台允许的内容。
答案 1 :(得分:0)
在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()
只需添加前景和背景属性即可。