Go to: Synopsis. Return value. Flags. Python examples.


menuItem( [string] , [allowOptionBoxes=boolean], [annotation=string], [boldFont=boolean], [checkBox=boolean], [collection=string], [command=script], [data=int], [defineTemplate=string], [divider=boolean], [dividerLabel=string], [docTag=string], [dragDoubleClickCommand=script], [dragMenuCommand=script], [echoCommand=boolean], [enable=boolean], [enableCommandRepeat=boolean], [exists=boolean], [familyImage=string], [image=string], [imageOverlayLabel=string], [insertAfter=string], [isCheckBox=boolean], [isOptionBox=boolean], [isRadioButton=boolean], [italicized=boolean], [label=string], [longDivider=boolean], [optionBox=boolean], [optionBoxIcon=string], [parent=string], [postMenuCommand=script], [postMenuCommandOnce=boolean], [radialPosition=string], [radioButton=boolean], [runTimeCommand=string], [sourceType=string], [subMenu=boolean], [tearOff=boolean], [useTemplate=string], [version=string], [visible=boolean])

Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.

menuItem is undoable, queryable, and editable.

This command creates/edits/queries menu items.

Return value

stringFull path name to the menu item.

In query mode, return type is based on queried flag.


allowOptionBoxes, annotation, boldFont, checkBox, collection, command, data, defineTemplate, divider, dividerLabel, docTag, dragDoubleClickCommand, dragMenuCommand, echoCommand, enable, enableCommandRepeat, exists, familyImage, image, imageOverlayLabel, insertAfter, isCheckBox, isOptionBox, isRadioButton, italicized, label, longDivider, optionBox, optionBoxIcon, parent, postMenuCommand, postMenuCommandOnce, radialPosition, radioButton, runTimeCommand, sourceType, subMenu, tearOff, useTemplate, version, visible
Long name (short name) Argument types Properties
allowOptionBoxes(aob) boolean createquery
Deprecated. All menus and menu items always allow option boxes. In the case of submenu items this flag specifies whether the submenu will be able to support option box menu items. Always returns true.
annotation(ann) string createqueryedit
Annotate the menu item with an extra string value.
boldFont(bld) boolean createquery
Specify if text should be bold. Only supported in menus which use the marking menu implementation. Default is false for Windows, and true for all other platforms.
checkBox(cb) boolean createqueryedit
Creates a check box menu item. Argument specifies the check box value.
collection(cl) string createquery
To explicitly add a radio menu item to a radioMenuItemCollection.
command(c) script createqueryedit
Attaches a command/script that will be executed when the item is selected. Note this command is not executed when the menu item is in an optionMenu control.
data(da) int createqueryedit
Attaches a piece of user-defined data to the menu item.
defineTemplate(dt) string create
Puts the command in a mode where any other flags and arguments are parsed and added to the command template specified in the argument. They will be used as default arguments in any subsequent invocations of the command when templateName is set as the current template.
divider(d) boolean createquery
Creates a divider menu item.
dividerLabel(dl) string createqueryedit
Adds a label to a divider menu item.
docTag(dtg) string createqueryedit
Attaches a tag to the menu item.
dragDoubleClickCommand(ddc) script createqueryedit
If the menu item is put on the shelf then this command will be invoked when the corresponding shelf object is double clicked.
dragMenuCommand(dmc) script createqueryedit
If the menu item is put on the shelf then this command will be invoked when the corresponding shelf object is clicked.
echoCommand(ec) boolean createqueryedit
Specify whether the action attached with the c/command flag should echo to the command output areas when invoked. This flag is false by default and must be specified with the c/command flag.
enable(en) boolean createqueryedit
Enable state for the menu item. A disabled menu item is dimmed and unresponsive. An enabled menu item is selectable and has normal appearance.
enableCommandRepeat(ecr) boolean createqueryedit
This flag only affects menu items to which a command can be attached. Specify true and the command may be repeated by executing the command repeatLast. This flag is true by default for all items except for option box items.
exists(ex) boolean create
Returns whether the specified object exists or not. Other flags are ignored.
familyImage(fi) string query
Get the filename of the family icon associated with the menu. The family icon will be used for the shelf unless an icon is specified with the image flag.
image(i) string createqueryedit
The filename of the icon associated with the menu item. If the menu containing the menu item is being edited with a menuEditor widget, then the menuEditor will use this icon to represent the menu item. This icon will be displayed on the shelf when the menu item is placed there.
imageOverlayLabel(iol) string createqueryedit
Specify a short (5 character) text string to be overlayed on top of the icon associated with the menu item. This is primarily a mechanism for differentiating menu items that are using a Family icon due to the fact that an icon image had not been explicitly defined. The image overlay label will not be used if an icon image is defined for the menu item.
insertAfter(ia) string create
Specify After which item the new one will be placed. If this flag is not specified, item is added at the end of the menu. Use the empty string "" to insert before the first item of the menu.

isCheckBox(icb) boolean query
Returns true if the item is a check box item.
isOptionBox(iob) boolean query
Returns true if the item is an option box item.
isRadioButton(irb) boolean query
Returns true if the item is a radio button item.
italicized(itl) boolean createquery
Specify if text should be italicized. Only supported in menus which use the marking menu implementation. Default is false.
label(l) string createqueryedit
The text that appears in the item.
longDivider(ld) boolean createqueryedit
Indicate whether the divider is long or short. Has no effect if divider label is set. Default is true.
optionBox(ob) boolean createquery
Indicates that the menu item will be an option box item. This item will appear to the right of the preceeding menu item.
optionBoxIcon(obi) string createqueryedit
The filename of an icon to be used instead of the usual option box icon. The icon is searched for in the folder specified by the XBMLANGPATH environment variable. The icon can be any size, but will be resized to the standard 16x16 pixels when drawn.
parent(p) string create
Specify the menu that the item will appear in.
postMenuCommand(pmc) script createqueryedit
Specify a script to be executed when the submenu is about to be shown.
postMenuCommandOnce(pmo) boolean createqueryedit
Indicate the pmc/postMenuCommand should only be invoked once. Default value is false, ie. the pmc/postMenuCommand is invoked everytime the sub menu is shown.
radialPosition(rp) string createqueryedit
The radial position of the menu item if it is in a Marking Menu. Radial positions are given in the form of a cardinal direction, and may be "N", "NW", "W", "SW", "S", "SE", "E" or "NE".
radioButton(rb) boolean createqueryedit
Creates a radio button menu item. Argument specifies the radio button value.
runTimeCommand(rtc) string createedit
A shortcut flag to link the menu item with a runTimeCommand. The value is the name of the runTimeCommand (unique). It copies the following fields from the runTimeCommand if those fields have not been provided to this command: label, annotation, image, command. Note: command will be set to the runTimeCommand itself.
sourceType(stp) string createqueryedit
Set the language type for a command script. Can only be used in conjunction with a command flag. Without this flag, commands are assumed to be the same language of the executing script. In query mode, will return the language of the specified command. Valid values are "mel" and "python".
subMenu(sm) boolean createquery
Indicates that the item will have a submenu. Subsequent menuItems will be added to the submenu until setParent -menu is called. Note that a submenu item creates a menu object and consequently the menu command may be used on the submenu item.
tearOff(to) boolean createquery
For the case where the menu item is a sub menu this flag will make the sub menu tear-off-able. Note that this flag has no effect on the other menu item types.
useTemplate(ut) string create
Forces the command to use a command template other than the current one.
version(ver) string createqueryedit
Specify the version that this menu item feature was introduced. The argument should be given as a string of the version number (e.g. "2013", "2014"). Currently only accepts major version numbers (e.g. 2013 Ext 1, or 2013.5 should be given as "2014").
visible(vis) boolean createqueryedit
The visible state of the menu item. A menu item is created visible by default. Note that a menu item's actual appearance is also dependent on the visible state of its parent layout(s).

Flag can appear in Create mode of command Flag can appear in Edit mode of command
Flag can appear in Query mode of command Flag can have multiple arguments, passed either as a tuple or a list.

Python examples

import maya.cmds as cmds

cmds.window( menuBar=True, width=200 )
cmds.menu( label='Stuff' )
cmds.menuItem( subMenu=True, label='Colors' )
cmds.menuItem( label='Blue' )
cmds.menuItem( label='Green' )
cmds.menuItem( label='Yellow' )
cmds.setParent( '..', menu=True )
cmds.menuItem( divider=True, dividerLabel='Section 1' )
cmds.menuItem( label='Yes', radioButton=False )
cmds.menuItem( label='Maybe', radioButton=False )
cmds.menuItem( label='No', radioButton=True )
cmds.menuItem( divider=True, dividerLabel='Section 2' )
cmds.menuItem( label='Top', checkBox=True )
cmds.menuItem( label='Middle', checkBox=False )
cmds.menuItem( divider=True, longDivider=False )
cmds.menuItem( label='Bottom', checkBox=True )
cmds.menuItem( divider=True )
cmds.menuItem( label='Option' )
cmds.menuItem( optionBox=True )