使用Tkinter中的Checkbutton制作菜单选项?

时间:2010-10-14 01:13:46

标签: python tkinter

我正在使用Tkinter创建一个菜单,但我想将"add_checkbutton"而不是"add_command"放入菜单选项中,但问题是:我如何取消选择/选择一个复选框?

menu = Menu(parent)

parent.config(menu=menu)

viewMenu = Menu(menu)

menu.add_cascade(label="View", menu=viewMenu)
viewMenu.add_command(label = "Show All", command=self.showAllEntries)
viewMenu.add_command(label="Show Done", command= self.showDoneEntries)
viewMenu.add_command(label="Show Not Done", command = self.showNotDoneEntries)

1 个答案:

答案 0 :(得分:10)

您需要将变量与checkbutton项关联,然后设置变量以使项目被选中或取消选中。例如:

import tkinter as tk

parent = tk.Tk()

menubar = tk.Menu(parent)
show_all = tk.BooleanVar()
show_all.set(True)
show_done = tk.BooleanVar()
show_not_done = tk.BooleanVar()

view_menu = tk.Menu(menubar)
view_menu.add_checkbutton(label="Show All", onvalue=1, offvalue=False, variable=show_all)
view_menu.add_checkbutton(label="Show Done", onvalue=True, offvalue=0, variable=show_done)
view_menu.add_checkbutton(label="Show Not Done", onvalue=1, offvalue=0, variable=show_not_done)
menubar.add_cascade(label='View', menu=view_menu)
parent.config(menu=menubar)

parent.mainloop()