Menus are the pull-down lists you’re accustomed to seeing at the top of a window (or the entire display, if you’re accustomed to seeing them on a Macintosh). Move the mouse cursor to the menu bar at the top, click on a name (e.g., File), and a list of selectable options pops up under the name you clicked (e.g., Open, Save). The options within a menu might trigger actions, much like clicking on a button; they may also open other “cascading” submenus that list more options, pop-up dialog windows, and so on. In Tkinter, there are two kinds of menus you can add to your scripts: top-level window menus and frame-based menus. The former option is better suited to whole windows, but the latter also works as a nested component.
Top-Level Window Menus
In more recent Python releases (using Tk 8.0 and beyond), you can
associate a horizontal menu bar with a top-level window object (e.g.,
Toplevel). On Windows
and Unix (X Windows), this menu bar is displayed along the top of the
window; on Macintosh, this menu replaces the one shown at the top of
the screen when the window is selected. In other words, window menus
look like you would expect on whatever underlying platform your
script runs upon.
This scheme is based on building trees of
widget objects. Simply associate one top-level
Menu with the window, add other pull-down
Menu objects as cascades of the top-level
Menu, and add entries to each of the pull-downs.
Menus are cross-linked with the next higher level, by using ...