tkinter更改背景颜色菜单选项

时间:2020-10-11 12:01:47

标签: python-3.x tkinter

我想知道如何在单击后如何创建一个更改bgcolor菜单,我的代码不起作用。 这是一个代码,对不起我的英语不好。

from tkinter import*

def bg(color):
    root.config(bg=color)

root = Tk()
menubar=Menu(root)
bgmenu=Menu(menubar,tearoff=0)
menubar.add_cascade(label="bgcolor",menu=bgmenu)
bgmenu.add_command(label="Indian red",command = bg('indianred'))
bgmenu.add_command(label="Powder blue",command = bg('powderblue'))
bgmenu.add_command(label="Grey",command = bg('grey'))
root.config(menu=menubar)

root.mainloop()

1 个答案:

答案 0 :(得分:2)

from tkinter import*

def bg(color):
    root.config(bg=color)

root = Tk()
menubar=Menu(root)
bgmenu=Menu(menubar,tearoff=0)
menubar.add_cascade(label="bgcolor",menu=bgmenu)
bgmenu.add_command(label="Indian red",command = lambda: bg('indianred'))
bgmenu.add_command(label="Powder blue",command = lambda:bg('powderblue'))
bgmenu.add_command(label="Grey",command =lambda:bg('grey'))
root.config(menu=menubar)

root.mainloop()

要与参数一起调用时,将lambda函数用于按钮的命令