使用TKinter,是否可以仅更改菜单中某些项目的文本颜色?我想让不太受欢迎的物品有更少的对比度,这样用户就可以快速找到最常用的物品。到目前为止,我只找到了Menu
的foreground
选项,它可以更改所有东西(而不是特定项目)的颜色,或者使特定项目的state
选项disabled
更改颜色,但它们应该仍然可以被点击来做一些事情。有什么建议吗?我希望有一种方法可以使用Menu
或Menubutton
类来实现这一点,而不必为这一功能从头开始重新实现菜单。
我认为您正在寻找entryconfig
方法,它通过传递菜单命令的索引,然后从添加方法选项列表中传递一个选项来工作。这里有一个例子:
root = Tk()
menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Open")
filemenu.add_command(label="Save")
menubar.add_cascade(label="File", menu=filemenu)
#entryconfig method to change the item with index '0' to white
filemenu.entryconfig(0, foreground='white')
root.config(menu=menubar)
root.mainloop()