如何在 Windows 下更改 Tkinter 中菜单的颜色?

Posted

技术标签:

【中文标题】如何在 Windows 下更改 Tkinter 中菜单的颜色?【英文标题】:How to change the colour of menu in Tkinter under windows? 【发布时间】:2014-06-08 23:37:36 【问题描述】:

我正在使用 windows xp。我想在 TKinter 中更改菜单栏和标签前景和背景。但是,我无法改变。我可以在 windows xp 中更改它还是必须将其升级到 windows 7。

from Tkinter import *
root = Tk()

menubar = Menu(root)
menubar.add_command(label = 'Label1', command = log, background = 'Black', foreground = 'Red')

root.config(menu=menubar)
root.mainloop()

我能够显示我想要的内容,并且我的代码在 Linux 中完美运行。但是,它不会改变窗口中的颜色。我是否需要使用任何其他命令才能使其工作?

【问题讨论】:

【参考方案1】:

你无能为力。 Tkinter 为菜单使用原生菜单对象,这意味着它们将具有与其他 Windows 菜单完全相同的外观和感觉。

【讨论】:

但是,为菜单提供这些选项的目的是什么?在这种情况下,画布上的菜单可以使用 canvas.create_window 选项吗? 在 Linux 下,它运行良好。意思是,我不能只在windows下改变它们,对吧? 在 Tkinter 中是否可以将菜单添加到画布?【参考方案2】:
from Tkinter import *
def log():
        print 'in log fun'

root = Tk()

menubar = Menu(root)
menubar.add_command(label = 'Label1', command = log)

root.config(bg='red',menu=menubar)

root.mainloop()

您可以配置背景颜色,不能配置菜单背景颜色。 enter image description here

【讨论】:

以上是关于如何在 Windows 下更改 Tkinter 中菜单的颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Tkinter 中使用“本机”GUI 外观?

如何在python中每隔几秒在tkinter窗口中更改一行文本[重复]

如何在 Tkinter 中更改文本光标颜色?

如何使用 tkinter 按钮在 python 中写入文件?

如何在 tkinter 上制作响应式画布?

如何在 tkinter.ttk Treeview 上完全更改背景颜色