This is an unofficial mirror of Tkinter reference documentation (based on Python 2.7 and Tk 8.5) created by the late John Shipman.
It was last updated in 2013 and is unmaintained. [More info]
Especially under MacOS, it is sometimes desirable to create menus that are shown as part of the top-level window. To do this, follow these steps.
Using any widget
, obtain the top-level window by using the
Menu widget, using the
top-level window as the first argument.
Items added to this
will be displayed across the top of the application.
Here is a brief example. Assume that
is the application instance, an instance of a class that
Frame. This code would
create a top-level menu choice named “ ” with one choice named
“ ” that calls
a handler named
top = self.winfo_toplevel() self.menuBar = tk.Menu(top) top['menu'] = self.menuBar self.subMenu = tk.Menu(self.menuBar) self.menuBar.add_cascade(label='Help', menu=self.subMenu) self.subMenu.add_command(label='About', command=self.__aboutHandler)
There is some variation in behavior depending on your platform.
Under Windows or Unix systems, the top-level menu choices appear at the top of your application's main window.
Under MacOS X, the top-level menu choices appear at the top of the screen when the application is active, right where Mac users expect to see them.
You must use the
for all the items you want on the top menu bar.
.add_radiobutton() will be ignored.