繁体   English   中英

Python Tkinter菜单小部件:

[英]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_worldsubmenu而不是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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM