在Tkinter中使用Checkbutton制作菜单选项?
问题内容:
我正在使用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)
问题答案:
您需要将变量与复选按钮项目关联,然后设置变量以使该项目被选中或取消选中。例如:
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=0, variable=show_all)
view_menu.add_checkbutton(label="Show Done", onvalue=1, 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()