Делать пункты меню с помощью кнопки «Checkbutton» в Tkinter? - PullRequest
6 голосов
/ 14 октября 2010

Я создаю Меню с использованием 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 Ответ

11 голосов
/ 14 октября 2010

Вам необходимо связать переменную с элементом (ами) флажка, а затем установить переменную так, чтобы элемент был отмечен или не отмечен. Например:

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...