[英]Changing the colour of tkinter menubar
我有以下代码,我想做的是将菜单栏的颜色更改为与我的 window 相同。我已经尝试了您在下面看到的内容,将bg="#20232A"
添加到menubar
,但这似乎没有影响。。
我的问题:下图是 window(虽然是窗口的一个片段),它展示了菜单栏和背景。 我希望菜单栏与下面看到的背景颜色相同,我该如何实现?
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()
您不能在 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()
只需添加前景和背景属性。
继续 Brian Oakley 的回应。 Linux 上的菜单栏(至少在我的 Linux Mint 安装上)呈现所需的颜色。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.