[英]Python Tkinter Menu widget:
我一直在尝试学习Tkinter,并且在查找菜单小部件时偶然发现了以下代码。
from tkinter import *
import tkinter.messagebox
top = Tk()
mb= Menubutton ( top, text="condiments", relief=RAISED )
mb.grid()
mb.menu = Menu ( mb, tearoff = 0)
mb["menu"] = mb.menu
mayoVar = IntVar()
ketchVar = IntVar()
mb.menu.add_checkbutton ( label="mayo",
variable=mayoVar )
mb.menu.add_checkbutton ( label="ketchup",
variable=ketchVar )
mb.pack()
top.mainloop()
现在我理解了代码的目的,但是很难弄清楚下面的代码是做什么的。
mb["menu"] = mb.menu
mb["menu"] = Menu()
将Menu ID
分配给Menubutton
因此Menubutton
知道要显示的内容。
mb.menu = ...
未将Menu
分配给Menu
Menubutton
,您可以使用任何其他变量,即。 mb.hello_world
或submenu
而不是mb.menu
,如以下示例所示
import tkinter as tk
root = tk.Tk()
mb = tk.Menubutton(root, text="condiments", relief=tk.RAISED)
mb.grid()
submenu = tk.Menu(mb, tearoff=0)
mayo_var = tk.IntVar()
ketch_var = tk.IntVar()
submenu.add_checkbutton(label="mayo", variable=mayo_var)
submenu.add_checkbutton(label="ketchup", variable=ketch_var)
mb['menu'] = submenu
root.mainloop()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.