represents a popup menu with setting x and possible values vali.


takes the setting to be the dynamically updated current value of x, with the value of x being reset every time an item is selected from the menu.


represents a popup menu in which possible value vali is indicated by lbli.


displays the menu item as dlbl if x is none of the vali.


displays as base when it is not being clicked.

Details and Options

  • PopupMenu[x,{val1,val2,}] displays with the vali as successive entries in the menu.
  • The vali and lbli can be strings, boxes, graphics or any other expressions, including dynamic expressions.
  • In PopupMenu[x,list], Delimiter can appear as an element of list, specifying a horizontal delimiter in the displayed popup menu.
  • The following options can be given:
  • AppearanceAutomaticthe overall appearance of the menu
    BaselinePosition Automaticalignment relative to surrounding text
    BaseStyle{}base style specifications for the menu
    ContentPaddingTruewhether to shrink the margins tightly around the contents
    Enabled Automaticwhether the menu is enabled, or grayed out
    FieldSize {{1.,50.},{1.,10.}}the size of the field for menu items
    FrameMargins Automaticmargins to leave inside the menu frame
    ImageMargins 0margins around the displayed menu
    ImageSize Allthe overall image size of the displayed menu
    MenuStyle{}style specifications for menu items
  • Appearance->{"Clicked"->app1,"Unclicked"->app2} allows different appearances to be specified for the clicked and unclicked states of the popup menu.
  • The settings for BaseStyle are appended to the default style typically given by the "PopupMenu" style in the current stylesheet.


open allclose all

Basic Examples  (2)

Select values from a popup menu:

Connect PopupMenu to a dynamic state:

Scope  (7)

PopupMenu Content  (4)

Use graphics as content in PopupMenu:

Use any expression as a label:

Use Null to indicate a blank label:

By default, a PopupMenu leaves enough space to display without ever resizing:

With ImageSize->Automatic, PopupMenu resizes for each pane:

PopupMenu Control  (3)

Start with value selected:

The setting is based on value, regardless of labels:

Connect a PopupMenu to a slider:

Options  (9)

Alignment  (1)

Specify an alignment within the menu:

BaselinePosition  (1)

Align with surrounding text:

Enabled  (1)

By default, PopupMenu is enabled:

By setting Enabled->False, PopupMenu is disabled, but visible in its current state:

FieldSize  (3)

Use a predefined size:

Specify width and height:

Allow a width and height between set values:

FrameMargins  (1)

Add margins within the view:

ImageMargins  (1)

Add margins outside the view:

ImageSize  (1)

Control the overall height and width:

Applications  (1)

Dynamically update the base view:

Properties & Relations  (1)

In PopupMenu, the setting is associated with the value of the element in the list:

In PopupView, the setting is associated with the position of the element in the list:

Wolfram Research (2007), PopupMenu, Wolfram Language function, https://reference.wolfram.com/language/ref/PopupMenu.html (updated 2010).


Wolfram Research (2007), PopupMenu, Wolfram Language function, https://reference.wolfram.com/language/ref/PopupMenu.html (updated 2010).


Wolfram Language. 2007. "PopupMenu." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2010. https://reference.wolfram.com/language/ref/PopupMenu.html.


Wolfram Language. (2007). PopupMenu. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PopupMenu.html


@misc{reference.wolfram_2022_popupmenu, author="Wolfram Research", title="{PopupMenu}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/PopupMenu.html}", note=[Accessed: 30-March-2023 ]}


@online{reference.wolfram_2022_popupmenu, organization={Wolfram Research}, title={PopupMenu}, year={2010}, url={https://reference.wolfram.com/language/ref/PopupMenu.html}, note=[Accessed: 30-March-2023 ]}