The Menu Widget

Create a menu with the Menu method, to be displayed later with the post method.

$menu = $parent->Menu(options)

The standard configuration options that apply to Menu are: -activebackground, -activeforeground, -background, -bg, -borderwidth, -bw, -cursor, -disabledfore-ground, -font, -foreground, -fg, -relief, and -takefocus.

Other options are:

  • -activeborderwidth => amount
  • Sets the width of the edges for the active menu item.
  • -menuitems => list
  • Specifies items to create in the menu as a list of lists.
  • -postcommand => callback
  • The command to invoke before the menu is posted. For example, to update the state of the menu items.
  • -tearoff => boolean
  • Whether to allow the menu to be "torn off." Default is .
  • -selectcolor => color
  • Color of the selection box for checkbuttons or radiobuttons.

Menu Indexes

Menus have indexes for manipulating individual menu items. They are:

  • n
  • Menu item n, with 0 representing the first item
  • active
  • The current menu item
  • end or last
  • The last menu item
  • none
  • No menu item
  • @n
  • The menu item closest to the y coordinate specified by n
  • pattern
  • The first menu item with text that matches the pattern

Menu Methods

In addition to configure and cget, the following methods are defined for the Menu widget:

  • add
  • Adds items to the end of a menu. The first argument is the type of menu item to add, and additional arguments are options to the menu item. For example:
    $menu = $mainwindow->Menu; $menu->add( 'command', -label => "New", "-command" => \&newfile );
    
  • entrycget
  • Gets information on a specific menu item given an index.
  • entryconfigure
  • Changes information on a specific menu item given an index.
  • post
  • Displays the menu widget.
  • unpost
  • Removes the menu widget from display.
  • postcascade
  • Unposts a submenu and posts the cascade menu associated with the menu item at the specified index.
  • delete
  • Removes menu items from the menu.
  • index
  • Given a named index, returns the numerical index for that menu item.
  • insert
  • Inserts a menu item at the specified index. Same as add, except that it takes an index as the first argument.
  • invoke
  • Invokes the menu item at the specified index as if it was selected.
  • type
  • Returns the type of menu item at the specified index.
  • yposition
  • Returns the y coordinate of the topmost pixel of the menu item.