2014-01-22 73 views
3

我在学习使用Python 2.7和Tkinter的构建一个简单的应用程序,我感到我有点糊涂了,当谈到创建父窗口。我已经成功地创建一个窗口,下拉菜单,这里是代码:何时使用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

我一直在使用Google的我似乎无法得到什么的菜单按钮,何时应该使用它一个明确的答案。

所以,我的问题是: 什么时候应该使用menuButton,而不是使用Menu和.add_cascade功能?

+0

我不知道,当你想使用菜单按钮,但我可以告诉你它不是菜单(菜单栏)的替代品和下拉菜单。 –

回答

4

通常你不会使用Menubutton类。如果你想在GUI中间插入一个带有附加菜单的按钮,它通常是唯一有用的。例如,OptionMenu类使用Menubutton类的按钮的实例。大多数现代UI不以这种方式使用菜单。