tkinter中的彩色下拉菜单

时间:2017-04-05 17:39:09

标签: python-2.7 tkinter colors dropdown optionmenu

是否可以在Tkinter的下拉列表中添加彩色项目?下拉列表将从枚举类中获取其值。例如,enum类具有红色,黄色,绿色和#39;元素。根据元素,下拉部分将是绿色,红色,黄色。我该怎么做?

1 个答案:

答案 0 :(得分:0)

使用关键字前景和背景可以为菜单添加颜色;看看。

try:
    import tkinter as tk
except:
    import Tkinter as tk

root = tk.Tk()

menubar = tk.Menu(root)

filemenu = tk.Menu(menubar,tearoff=0)

filemenu.add_command(label="text 1")
filemenu.add_command(label='text 2', foreground = 'blue')
filemenu.add_command(label='text 3',background='green')

# entire dropdown menu has been given this color
editmenu = tk.Menu(menubar,tearoff=0,foreground = 'green')
editmenu.add_command(label='copy')
editmenu.add_command(label='paste')

menubar.add_cascade(menu=filemenu, label="File")
menubar.add_cascade(menu=editmenu, label="edit")

root.config(menu=menubar)

root.mainloop()

从预定义列表中获取颜色,涉及一个for循环。

try:
    import tkinter as tk
except:
    import Tkinter as tk

root = tk.Tk()

menubar = tk.Menu(root,foreground='red')
filemenu = tk.Menu(menubar,tearoff=0)

text = ['text 1', 'text 2', 'text 3']
color = ['green','red','yellow']

for a,b in zip(text,color):
    filemenu.add_command(label=a,foreground=b)

menubar.add_cascade(menu=filemenu, label="File")
root.config(menu=menubar)
root.mainloop()

编辑:希望将代码转换为2.7。