何时使用tkinter menubutton



我正在学习使用Python 2.7和Tkinter构建一个简单的应用程序,在创建父窗口时,我有点困惑。我设法创建了一个窗口和下拉菜单,这是代码:

import Tkinter as tk
class Root(tk.Tk):
    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        #initialize menu
        self.config(menu=MenuBar(self))

class MenuBar(tk.Menu):
    def __init__(self, parent):
        tk.Menu.__init__(self, parent)
        filemenu = tk.Menu(self, tearoff=False)
        self.add_cascade(label="File",underline=0, menu=filemenu)
        filemenu.add_command(label="New", command=self.callback)
        filemenu.add_separator()
        filemenu.add_command(label="Exit", underline=1, command=self.quit)
    def quit(self):
        sys.exit(0)
    def callback(self):
        print "called the callback!"
root = Root()
root.mainloop()

这一切都起作用,我对此感到满意,直到我在阅读TKK API时偶然发现了 Menubutton

我一直在谷歌搜索一个我似乎无法就梅努布顿(Menubutton)以及何时使用的清晰答案。

所以,我的问题是:我什么时候应该使用Menubutton,应该使用它代替菜单和.add_cascade功能?

通常您不会使用Menubutton类。只有在GUI中间带有一个带有附有菜单的按钮时,这主要是有用的。例如,OptionMenu类使用Menubutton类的实例作为按钮。大多数现代UIS不会以这种方式使用菜单。

最新更新