The layoutDialog command creates a modal dialog containing a formLayout with 100 divisions. The formLayout can be populated with arbitrary UI elements through use of the ‘-ui/-uiScript’ flag. NOTE:A layoutDialog is not a window and certain UI elements will not function properly within it. In particular menuBars and panels containing menuBars should not be used with the layoutDialog.
Long name (short name) | Argument Types | Properties | |
---|---|---|---|
backgroundColor (bgc) | float, float, float | ||
The background color of the dialog. The arguments correspond to the red, green, and blue color components. Each component ranges in value from 0.0 to 1.0. (Windows only flag) |
|||
dismiss (dis) | unicode | ||
|
|||
parent (p) | unicode | ||
Specify the parent window for the dialog. The dialog will be centered on this window and raise and lower with it’s parent. By default, the dialog is not parented to a particular window and is simply centered on the screen. |
|||
title (t) | unicode | ||
|
|||
uiScript (ui) | script | ||
The specified MEL procedure name will be invoked to build the UI of the layoutDialog. This flag is required when creating a layoutDialog. The top-level control of a layoutDialog is a formLayout with 100 divisions. It can be accessed by calling ‘setParent -q’ at the beginning of the specified MEL procedure.Flag can appear in Create mode of commandFlag can have multiple arguments, passed either as a tuple or a list. |
Derived from mel command maya.cmds.layoutDialog
Example:
import pymel.core as pm
import maya.cmds as cmds
def checkboxPrompt():
# Get the dialog's formLayout.
#
form = pm.setParent(q=True)
# layoutDialog's are not resizable, so hard code a size here,
# to make sure all UI elements are visible.
#
pm.formLayout(form, e=True, width=300)
t = pm.text(l='What do you want to do?')
b1 = pm.button(l='Abort', c='pm.layoutDialog( dismiss="Abort" )' )
b2 = pm.button(l='Skip', c='pm.layoutDialog( dismiss="Skip" )' )
b3 = pm.button(l='Continue', c='pm.layoutDialog( dismiss="Continue" )' )
cb1 = pm.checkBox(label='Remember my choice')
spacer = 5
top = 5
edge = 5
pm.formLayout(form, edit=True,
attachForm=[(t, 'top', top), (t, 'left', edge), (t, 'right', edge), (b1, 'left', edge), (b3, 'right', edge), (cb1, 'left', edge), (cb1, 'bottom', spacer)],
attachNone=[(t, 'bottom'), (b1, 'bottom'), (b2, 'bottom'), (b3, 'bottom'), (cb1, 'right')],
attachControl=[(b1, 'top', spacer, t), (b2, 'top', spacer, t), (b3, 'top', spacer, t), (cb1, 'top', spacer, b1)],
attachPosition=[(b1, 'right', spacer, 33), (b2, 'left', spacer, 33), (b2, 'right', spacer, 66), (b3, 'left', spacer, 66)])
print pm.layoutDialog(ui=checkboxPrompt)