pymel.core.windows.menuItem¶
- menuItem(*args, **kwargs)¶
This command creates/edits/queries menu items.
Flags:
Long Name / Short Name Argument Types Properties allowOptionBoxes / aob bool 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. altModifier / alt bool Specify this flag if the Alt modifier is part of the accelerator sequence. annotation / ann unicode Annotate the menu item with an extra string value. boldFont / bld bool 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 bool Creates a check box menu item. Argument specifies the check box value. collection / cl unicode To explicitly add a radio menu item to a radioMenuItemCollection. command / c script 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 optionMenucontrol. commandModifier / cmd bool Specify this flag if the command modifier is part of the accelerator sequence. This is only available on systems which have a separate command key. ctrlModifier / ctl bool Specify this flag if the Cntl modifier is part of the accelerator sequence. data / da int Attaches a piece of user-defined data to the menu item. defineTemplate / dt unicode 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 bool Creates a divider menu item. dividerLabel / dl unicode Adds a label to a divider menu item. docTag / dtg unicode Attaches a tag to the menu item. dragDoubleClickCommand / ddc script 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 If the menu item is put on the shelf then this command will be invoked when the corresponding shelf object is clicked. echoCommand / ec bool Specify whether the action attached with the c/commandflag should echo to the command output areas when invoked. This flag is false by default and must be specified with the c/commandflag. enable / en bool 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 bool 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 bool Returns whether the specified object exists or not. Other flags are ignored. familyImage / fi unicode 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 imageflag. image / i unicode 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 unicode 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 unicode 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 bool Returns true if the item is a check box item. isOptionBox / iob bool Returns true if the item is an option box item. isRadioButton / irb bool Returns true if the item is a radio button item. italicized / itl bool Specify if text should be italicized. Only supported in menus which use the marking menu implementation. Default is false. keyEquivalent / ke unicode Specify the accelerator character. This character is combined with the modifier keys specified with the alt/altModifier, opt/optionModifier, ctl/ctlModifier, cmd/commandModifierand sh/shiftModifierto form the complete accelerator sequence that you can type to execute the menu item. Note that only regular menu items, radio menu items and check box menu items can have an accelerator. label / l unicode The text that appears in the item. longDivider / ld bool Indicate whether the divider is long or short. Has no effect if divider label is set. Default is true. ltVersion / lt unicode This flag is used to specify the Maya LT version that this control feature was introduced, if the version flag is not specified, or if the version flag is specified but its argument is different. This value is only used by Maya LT, and otherwise ignored. 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). mnemonic / mn unicode optionBox / ob bool 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 unicode 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. optionModifier / opt bool Specify this flag if the Alt (or option) modifier is part of the accelerator sequence. parent / p unicode Specify the menu that the item will appear in. postMenuCommand / pmc script Specify a script to be executed when the submenu is about to be shown. postMenuCommandOnce / pmo bool Indicate the pmc/postMenuCommandshould only be invoked once. Default value is false, ie. the pmc/postMenuCommandis invoked everytime the sub menu is shown. radialPosition / rp unicode 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, Eor NE. radioButton / rb bool Creates a radio button menu item. Argument specifies the radio button value. shiftModifier / sh bool Specify this flag if the Shift modifier is part of the accelerator sequence. sourceType / stp unicode 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 meland python. subMenu / sm bool Indicates that the item will have a submenu. Subsequent menuItems will be added to the submenu until setParent -menuis called. Note that a submenu item creates a menu object and consequently the menucommand may be used on the submenu item. tearOff / to bool 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 unicode Forces the command to use a command template other than the current one. version / ver unicode 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). Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.menuItem
Example:
import pymel.core as pm pm.window( menuBar=True, width=200 ) # Result: ui.Window('window1') # pm.menu( label='Stuff' ) # Result: ui.Menu('window1|menu49') # pm.menuItem( subMenu=True, label='Colors' ) # Result: ui.CommandMenuItem('window1|menu49|menuItem479') # pm.menuItem( label='Blue' ) # Result: ui.CommandMenuItem('window1|menu49|menuItem479|menuItem480') # pm.menuItem( label='Green' ) # Result: ui.CommandMenuItem('window1|menu49|menuItem479|menuItem481') # pm.menuItem( label='Yellow' ) # Result: ui.CommandMenuItem('window1|menu49|menuItem479|menuItem482') # pm.setParent( '..', menu=True ) # Result: u'window1|menu49' # pm.menuItem( divider=True ) # Result: ui.CommandMenuItem('window1|menu49|menuItem483') # pm.radioMenuItemCollection() # Result: ui.RadioMenuItemCollection('window1|menu49|radioMenuItemCollection7') # pm.menuItem( label='Yes', radioButton=False ) # Result: ui.CommandMenuItem('window1|menu49|menuItem484') # pm.menuItem( label='Maybe', radioButton=False ) # Result: ui.CommandMenuItem('window1|menu49|menuItem485') # pm.menuItem( label='No', radioButton=True ) # Result: ui.CommandMenuItem('window1|menu49|menuItem486') # pm.menuItem( divider=True ) # Result: ui.CommandMenuItem('window1|menu49|menuItem487') # pm.menuItem( label='Top', checkBox=True ) # Result: ui.CommandMenuItem('window1|menu49|menuItem488') # pm.menuItem( label='Middle', checkBox=False ) # Result: ui.CommandMenuItem('window1|menu49|menuItem489') # pm.menuItem( label='Bottom', checkBox=True ) # Result: ui.CommandMenuItem('window1|menu49|menuItem490') # pm.menuItem( divider=True ) # Result: ui.CommandMenuItem('window1|menu49|menuItem491') # pm.menuItem( label='Option' ) # Result: ui.CommandMenuItem('window1|menu49|menuItem492') # pm.menuItem( optionBox=True ) # Result: ui.CommandMenuItem('window1|menu49|menuItem493') # pm.columnLayout() # Result: ui.ColumnLayout('window1|columnLayout61') # pm.button() # Result: ui.Button('window1|columnLayout61|button54') # pm.button() # Result: ui.Button('window1|columnLayout61|button55') # pm.button() # Result: ui.Button('window1|columnLayout61|button56') # pm.showWindow()