PythonMaya-GUI-Controls(控制)

attrColorSliderGrp 颜色滑块

创建一个颜色滑块组,包括标签,彩色画布,滑块和按钮。
单击画布将显示颜色编辑器。
如果按钮可见,则允许您将纹理映射到属性。

可以使用-cw / columnWidth,-co / columnOffset,-cat / columnAttach,-cal / columnAlign和-adj / adjustableColumn标志自定义每个控件(即列)的布局。

cmds.window( title='Attr Field Slider Groups' )
objName = cmds.shadingNode('phong', asShader=True)
cmds.columnLayout()
cmds.attrColorSliderGrp( at='%s.color' % objName )
cmds.showWindow()
image.png

attrControlGrp 数值滑块

创建最适合指定属性的类型的控件,并将控件与属性相关联。
对控件的任何更改都将导致属性值发生更改,并且对属性值的任何更改都将反映在控件中。
并非所有属性类型都受支持。

cmds.window()
cmds.columnLayout()
cmds.attrControlGrp(attribute='defaultResolution.width')
cmds.showWindow()
image.png

attrFieldGrp

创建预打包的标签文本集合,以及两到四个浮点字段。
这些字段将附加到指定的矢量属性,因此任何一个中的更改都将反映在另一个中。
这里创建的字段是表达式字段 - 通常作为浮点字段操作,用户可以键入以字符“ - ”开头的任何表达式。
该字段还有一个由鼠标右键显示的自动菜单。
此菜单的内容根据字段正在监视的属性的状态而变化。

#    创建一个对象和一个包含'attrFieldGrp'的窗口,操纵该对象的位置
object = cmds.sphere()
window = cmds.window(title='attrFieldGrp Example')
cmds.columnLayout()
cmds.attrFieldGrp( attribute='%s.translate' % object[0] )
cmds.showWindow()
image.png

attrFieldSliderGrp

创建标签文本,浮点字段和浮动滑块的预打包集合(对于指定了最小值或最大值的值)该组还支持可能字段值的较大次要范围的概念

可以使用-cw / columnWidth,-co / columnOffset,-cat / columnAttach,-cal / columnAlign和-adj / adjustableColumn标志自定义每个控件(即列)的布局。

cmds.window( title='Attr Field Slider Groups' )
objName = cmds.sphere()
cmds.columnLayout()
cmds.attrFieldSliderGrp( min=-10.0, max=10.0, at='%s.tx' % objName[0] )
cmds.showWindow()
image.png

attrNavigationControlGrp

创建预打包的标签导航按钮。
该组用于帮助用户管理与特定属性的连接。

可以使用-cw / columnWidth,-co / columnOffset,-cat / columnAttach,-cal / columnAlign和-adj / adjustableColumn标志自定义每个控件(即列)的布局。

newNode = cmds.shadingNode( 'blinn', asShader=True )
newNodeAttr = newNode + '.normalCamera'
cmds.window()
cmds.columnLayout()
cmds.attrNavigationControlGrp( l='bump mapping', at=newNodeAttr )
cmds.showWindow()
image.png

[button]

def defaultButtonPush(*args):
  print 'Button 1 was pushed.'

cmds.window( width=150 )
cmds.columnLayout( adjustableColumn=True )
cmds.button( label='Button 1', command=defaultButtonPush )
cmds.button( label='Button 2' )
cmds.button( label='Button 3' )
cmds.button( label='Button 4' )
cmds.showWindow()
image.png

canvas

创建一个能够显示色样的控件。当用户按下色样时,该控件还可以接受要调用的命令。

cmds.window()
cmds.columnLayout( rowSpacing=5 )
cmds.canvas( rgbValue=(0, 0, 1), width=100, height=20 )
cmds.canvas( hsvValue=(60, 1, 1), width=100, height=20 )
cmds.canvas( rgbValue=(1, 0, 1), width=100, height=20 )
cmds.showWindow()
image.png

channelBox

创建一个对活动列表敏感的通道盒。

cmds.window()
cmds.formLayout( 'form' )
cmds.channelBox( 'dave' )
cmds.channelBox( 'cb1', attrRegex='T*', attrColor=(1.0, 1.0, 1.0), attrBgColor=(.27, .27, .27) )
cmds.formLayout( 'form', e=True, af=(('dave', 'top', 0), ('dave', 'left', 0), ('dave', 'right', 0), ('dave', 'bottom', 0)) )
cmds.showWindow()
image.png

checkBox 复选框。

window = cmds.window('window', width=150)
cmds.columnLayout( adjustableColumn=True )
cmds.checkBox( label='One' )
cmds.checkBox( label='Two' )
cmds.checkBox( label='Three' )
cmds.checkBox( label='Four' )
cmds.showWindow( window )
image.png

image.png

checkBoxGrp

在一行中创建一到四个复选框。
他们可以有一个可选的文本标签。

可以使用-cw / columnWidth,-co / columnOffset,-cat / columnAttach,-cal / columnAlign和-adj / adjustableColumn标志自定义每个控件(即列)的布局

exampleWindow = cmds.window()
cmds.columnLayout()
cmds.checkBoxGrp( numberOfCheckBoxes=3, label='Three Buttons', labelArray3=['One', 'Two', 'Three'] )
cmds.checkBoxGrp( numberOfCheckBoxes=4, label='Four Buttons', labelArray4=['I', 'II', 'III', 'IV'] )
cmds.showWindow( exampleWindow )

# 放置一个标签宽度为100像素的复选框和一个复选框
# 宽度为165像素。在此示例中,checkBoxGrp的两列
# 由columnWidth2标志控制的是标签列和复选框column。
# 可以通过控制复选框的水平定位
# 调整第一列的宽度
exampleWindow = cmds.window()
cmds.rowLayout()
cmds.checkBoxGrp(columnWidth2=[100, 165], numberOfCheckBoxes=1, label='A Label', label1='A Checkbox', v1=True)
cmds.showWindow(exampleWindow)
image.png

image.png

cmdScrollFieldExecuter

用于向Maya发出脚本命令的脚本编辑器执行器控件。

# 这将创建一个带Mel命令执行器的小窗口。
cmds.window()
cmds.columnLayout()
cmds.cmdScrollFieldExecuter(width=200, height=100)
cmds.showWindow()

# 这将创建一个带有Python命令执行器的小窗口。
cmds.window()
cmds.columnLayout()
cmds.cmdScrollFieldExecuter(width=200, height=100, sourceType="python")
cmds.showWindow()
image.png

cmdScrollFieldReporter

脚本编辑器记者控件,用于接收和显示已处理命令的历史记录。

cmdShell

创建一个滚动字段,其行为类似于用于输入用户输入的unix shell。

if cmds.window( 'ExampleWindow', exists=True):
    cmds.deleteUI( 'ExampleWindow', window=True)

#    创建一个包含cmdShell和几个按钮的窗口。
#    使用表单布局来定位控件。
cmds.window( 'ExampleWindow', widthHeight=(300, 300) )
form = cmds.formLayout()
cmdShell = cmds.cmdShell()
clearButton = cmds.button(label='Clear', command=('cmds.cmdShell(\"' + cmdShell + '\", edit=True, clear=True)' ))
closeButton = cmds.button(label='Close', command=('cmds.deleteUI( "ExampleWindow", window=True )' ) )

#    设置附属物.
cmds.formLayout( form, edit=True,
    attachForm=((cmdShell, 'top', 0), (cmdShell, 'left', 0), (cmdShell, 'right', 0), (clearButton, 'left', 0),
                                (clearButton, 'bottom', 0), (closeButton, 'bottom', 0), (closeButton, 'right', 0)),
    attachControl=(cmdShell, 'bottom', 0, clearButton),
    attachNone=((clearButton, 'top'), (closeButton, 'top')),
    attachPosition=((clearButton, 'right', 0, 50), (closeButton, 'left', 0, 50)))

cmds.showWindow( 'ExampleWindow' )
image.png

colorIndexSliderGrp

创建一个颜色滑块组,包括标签,颜色画布和滑块。

可以使用-cw / columnWidth,-co / columnOffset,-cat / columnAttach,-cal / columnAlign和-adj / adjustableColumn标志自定义每个控件(即列)的布局

cmds.window()
cmds.columnLayout()
cmds.colorIndexSliderGrp( label='Select Color', min=0, max=20, value=10 )
cmds.showWindow()
image.png

colorInputWidgetGrp

创建一个颜色滑块组,包括标签,彩色画布,RGB和HSV滑块。
单击画布将显示颜色编辑器。

cmds.window( title='Colors' )
cmds.columnLayout()
cmds.colorInputWidgetGrp( label='Color', rgb=(1, 0, 0) )
cmds.showWindow()
image.png

colorSliderButtonGrp

使用按钮和符号按钮创建新的颜色滑块组。
此控件主要用于呈现UI。

cmds.window()
cmds.columnLayout()
cmds.colorSliderButtonGrp( label='Label', buttonLabel='Button', rgb=(1, 0, 0), symbolButtonDisplay=True, columnWidth=(5, 30), image='navButtonUnconnected.png' )
cmds.showWindow()
image.png

colorSliderGrp

创建一个颜色滑块组,包括标签,颜色画布和滑块。
单击画布将显示颜色编辑器对话框。

cmds.window()
cmds.columnLayout()
cmds.colorSliderGrp( label='Blue', rgb=(0, 0, 1) )
cmds.colorSliderGrp( label='Green', hsv=(120, 1, 1) )
cmds.showWindow()
image.png

commandLine

此命令为命令输入/输出创建单行。
左半部分用于输入,右半部分用于输出。

#    创建一个包含命令行的窗口
window = cmds.window('window')
form = cmds.formLayout()
field = cmds.scrollField()

cmdLine = cmds.commandLine()
cmds.commandLine( cmdLine, edit=True, height=25)
cmds.commandLine( cmdLine, edit=True, sourceType="python")
cmds.formLayout( form, edit=True, attachForm=[(cmdLine, 'top', 0), (cmdLine, 'left', 0), (cmdLine, 'right', 0), (field, 'left', 0), (field, 'bottom', 0), (field, 'right', 0)], attachNone=(cmdLine, 'bottom'), attachControl=(field, 'top', 5, cmdLine) )

#    给命令行初始键盘焦点。
cmds.setFocus( cmdLine )
cmds.showWindow( window )
image.png

componentBox

创建一个对活动列表敏感的组件框。
它显示活动列表中最后一个节点的某些组件,并提供双向连接以使小组件保持最新。

cmds.window()
cmds.formLayout( 'form' )
cmds.componentBox( 'cbox' )
cmds.formLayout( 'form', e=True, af=(('cbox', 'top', 0), ('cbox', 'left', 0), ('cbox', 'right', 0), ('cbox', 'bottom', 0)) )
cmds.showWindow()
image.png

control

此命令允许您编辑或查询任何控件的属性。

falloffCurve

创建用于编辑2D控制曲线的控件。
控件附加到optionVar,用于存储和检索存储在字符串中的编码控制点。

# Create a window with a curve control for an optionVar
#
cmds.window( title='Curve Control For OptionVar' )
cmds.optionVar(stringValueAppend=['falloffCurveOptionVar', '0,1'])
cmds.optionVar(stringValueAppend=['falloffCurveOptionVar', '0.5,1'])
cmds.optionVar(stringValueAppend=['falloffCurveOptionVar', '0.5,0'])
cmds.optionVar(stringValueAppend=['falloffCurveOptionVar', '1,0'])
cmds.columnLayout()
cmds.falloffCurve( 'fCurve', h=200)
cmds.falloffCurve( 'fCurve', e=True, optionVar='falloffCurveOptionVar' )
cmds.showWindow()

# Query for the control vertices' values of the curve.
#
cmds.falloffCurve( 'fCurve', q=True, asString=True )
image.png

falloffCurveAttr

创建用于编辑2D控制曲线的控件。

floatField

创建一个仅接受浮点值并受最小值和最大值限制的字段控件。

window = cmds.window()
cmds.columnLayout()
cmds.floatField()
cmds.floatField( editable=False )
cmds.floatField( minValue=-10, maxValue=10, value=0 )
cmds.floatField( minValue=0, maxValue=1, precision=2 )
cmds.floatField( minValue=-1, maxValue=1, precision=4, step=.01 )
cmds.showWindow( window )
image.png

floatFieldGrp

创建标签文本和可编辑浮点字段的预打包集合。
标签文本是可选的,可以创建一到四个浮点字段。

window = cmds.window()
cmds.columnLayout()
cmds.floatFieldGrp( numberOfFields=3, label='Scale', extraLabel='cm', value1=0.3, value2=0.5, value3=0.1 )
cmds.showWindow( window )
image.png

floatScrollBar

创建一个滚动条控件,它只接受浮点值并受最小值和最大值的约束。

cmds.window()
cmds.columnLayout( adjustableColumn=True )
cmds.floatScrollBar()
cmds.floatScrollBar( min=-100, max=100, value=0, step=1, largeStep=10 )
cmds.showWindow()
image.png

floatSlider

创建一个仅接受浮点值的滑块控件,并使用最小值和最大值绑定。

cmds.window()
cmds.columnLayout( adjustableColumn=True )
cmds.floatSlider()
cmds.floatSlider( min=-100, max=100, value=0, step=1 )
cmds.showWindow()
image.png

floatSlider2

此命令创建一个包含两个句柄的浮动滑块。
两个手柄布置成使得它们不能彼此穿过,因此当您调整值时,手柄1将始终具有小于或等于手柄2的值。

############ floatSlider2 example #############
#
# First, create one object to control with the slider. We will use one
# slider handle to control the startSweep and the other the endSweep so
# that the sphere can be made to open and close via the handles.
#
cmds.sphere()

# Create a window containing a floatSlider2 (two handled float slider).
# The window also contains two floating-point textfields.
#    - Moving the handle updates the associated textfield.
#    - Typing a value into a textfield moves the associated handle.
#
cmds.window()
cmds.columnLayout()

ff1    = cmds.floatField()
slider = cmds.floatSlider2()
ff2    = cmds.floatField()

# Hook the slider handles up to drive the textfields. When you move the
# slider handles, the textfields will update to display the
# position of the handle.
#
cmds.floatSlider2( slider, edit=True, positionControl1=ff1, positionControl2=ff2 )

# Set the slider direction (polarity) and upper limit.
#
cmds.floatSlider2( slider, edit=True, polarity=1, max=360 )

# Connect the slider so that the handles drive the sweep angles of
# the NURBS sphere.
#
cmds.floatSlider2(slider, edit=True, cc1='setAttr makeNurbSphere1.endSweep', cc2='setAttr makeNurbSphere1.startSweep' )

# Display the window.
#
cmds.showWindow()
image.png

floatSliderButtonGrp

创建一个带有可选按钮和符号按钮的浮动滑块组件。

window = cmds.window()
cmds.columnLayout()
cmds.floatSliderButtonGrp( label='Label', field=True, buttonLabel='Button', symbolButtonDisplay=True, columnWidth=(5, 23), image='cmdWndIcon.xpm' )
cmds.showWindow( window )
image.png

floatSliderGrp

创建一个预包装的集合包含一个标签控件文本,一个浮动字段和一个滑块浮动。

# 创建一个带有几个浮动滑块组的窗口。
# 第一个会使用默认限制值,第二个将设置具有的组,一个大于滑块范围的字段范围。
# 尝试输入值大于两个组中的滑块限制。

window = cmds.window(title='floatSliderGrp Example')
cmds.columnLayout()
cmds.floatSliderGrp( label='Group 1', field=True )
cmds.floatSliderGrp( label='Group 2', field=True, minValue=-10.0, maxValue=10.0, fieldMinValue=-100.0, fieldMaxValue=100.0, value=0 )
cmds.showWindow( window )
image.png

gradientControl

创建一个控件,显示指定的渐变属性。

# 为profileCurve属性创建一个ramp小部件
cmds.window( title='Gradient Control For Attribute' )
objName = cmds.createNode('polySplitRing')
cmds.columnLayout()
cmds.gradientControl( at='%s.profileCurve' % objName )
cmds.showWindow()

# 要在属性编辑器中添加渐变窗口小部件,请调用AEaddRampControl mel脚本
image.png

gradientControlNoAttr

创建用于编辑渐变的控件(2D控制曲线)。控件附加到optionVar,用于存储和检索存储在字符串中的编码渐变控制点。

# 创建一个窗口与梯度控制optionVar
cmds.window( title='Gradient Control For OptionVar' )
cmds.optionVar(stringValueAppend=['falloffCurveOptionVar', '0,1,2'])
cmds.optionVar(stringValueAppend=['falloffCurveOptionVar', '1,0,2'])
cmds.columnLayout()
cmds.gradientControlNoAttr( 'falloffCurve', h=90)
cmds.gradientControlNoAttr( 'falloffCurve', e=True, optionVar='falloffCurveOptionVar' )
cmds.showWindow()

# 查询给定位置的曲线上的值。
cmds.gradientControlNoAttr( 'falloffCurve', q=True, valueAtPoint=0.5 )
image.png

helpLine

此命令创建一个帮助行,其中显示工具帮助/提示。

# 创建一个带有菜单栏,一些按钮和帮助的窗口。
# 将一些annontations附加到UI,以便它们出现在帮助热线中
window = cmds.window( menuBar=True )
cmds.menu( label='File' )
cmds.menuItem( label='New', annotation='Help for New' )
cmds.menuItem( label='Open', annotation='Help for Open' )
cmds.menuItem( label='Close', annotation='Help for Close' )

form = cmds.formLayout()
column = cmds.rowLayout(numberOfColumns=4,
                        columnWidth4=(32, 32, 32, 32),
                        columnAttach4=('both', 'both', 'both', 'both'))
cmds.button( label='A', height=32, annotation='Help for A' )
cmds.button( label='B', height=32, annotation='Help for B' )
cmds.button( label='C', height=32, annotation='Help for C' )
cmds.button( label='D', height=32, annotation='Help for D' )
cmds.setParent( '..' )

frame = cmds.frameLayout( labelVisible=False )
cmds.helpLine()
cmds.formLayout( form, edit=True,
                 attachForm=((column, 'top', 0), (column, 'left', 0),
                             (column, 'right', 0), (frame, 'left', 0),
                             (frame, 'bottom', 0), (frame, 'right', 0)),
                 attachNone=((column, 'bottom'), (frame, 'top')) )
cmds.showWindow( window )
image.png

hudButton

这个命令创建一个抬头显示器(HUD)按钮控件放置在一个2 d活性叠加平面3 d窗口。
是用来提供实践交互指定的用户脚本。

# 定义一个“你好!”反制程序。此过程将在每次运行输出"Hello! [number]"
# 该号码在每次通话结束时递增
gHelloCount = 0

def HUDButtonHello(*args):
    global gHelloCount
    print 'Hello!( %i )' % gHelloCount
    gHelloCount += 1

# 现在创建我们的按钮。仅在鼠标释放时执行
cmds.hudButton('HUDHelloButton', s=7, b=5, vis=1, l='Button', bw=80, bsh='roundRectangle', rc=HUDButtonHello)

# hudSlider
>这个命令创建一个抬头显示器(HUD)滑块控件放置在一个2 d活性叠加平面3 d窗口。
是用来提供实践交互指定的用户脚本。
```# 定义一个在按下/拖动/释放中执行的过程。
# 此过程将根据给定的HUD滑块的值,显式地将任何选择的转换设置为沿X轴的给定位置。
def translateXSlider(HUD):
    # 由于撤销不是自动关闭的,我们必须自己做。
    # 在拖动期间,HUD将触发对这个过程的许多调用,因此我们不想淹没撤消队列。
    cmds.undoInfo(swf=False)
    for object in cmds.ls(sl=True):
        if cmds.objectType(object, isType='transform'):
            translateX = object + '.tx'
            value = cmds.hudSlider(HUD, q=True, v=True)
            cmds.setAttr(translateX, value)
    # 重新启用撤消队列。
    cmds.undoInfo(swf=True)


# 现在创建滑块HUD
cmds.hudSlider('HUDTranslateXSlider',
               section=2,
               block=5,
               visible=1,
               label="TranslateX:",
               value=0,
               type="int",
               minValue=-10,
               maxValue=10,
               labelWidth=80,
               valueWidth=50,
               sliderLength=100,
               sliderIncrement=1,
               pressCommand='translateXSlider( "HUDTranslateXSlider" )',
               dragCommand='translateXSlider( "HUDTranslateXSlider" )',
               releaseCommand='translateXSlider( "HUDTranslateXSlider" )')
image.png

hudSliderButton

这个命令创建一个抬头显示器(HUD)滑块按钮控件放置在一个2 d活性叠加平面3 d窗口。
是用来提供实践交互指定的用户脚本。

def translateXSliderButton(HUD):
    cmds.undoInfo(swf=True)
    selList = cmds.ls(sl=True)
    for object in selList:
        if cmds.objectType(object, isType='transform'):
            cmds.setAttr(object + ".tx", cmds.hudSliderButton(HUD, query=True, v=True))


# Create our slider button.  Use lambda to create an "anonymous" function that invokes the
# callback with the desired button name argument.
#
cmds.hudSliderButton('HUDTranslateXSliderButton', s=5, b=5, vis=True, sl='Slider:', value=0, type='int', min=-10,
                     max=10, slw=50, vw=50, sln=100, si=1, bl='Button', bw=60, bsh='rectangle',
                     brc=lambda: translateXSliderButton('HUDTranslateXSliderButton'))
image.png

iconTextButton

此控件最多支持3个图标图像和4种不同的显示样式。显示的图标图像是最适合当前控件的当前尺寸的图标。

window = cmds.window()
cmds.columnLayout( adjustableColumn=True )
cmds.iconTextButton( style='textOnly', image1='sphere.png', label='sphere' )
cmds.iconTextButton( style='iconOnly', image1='spotlight.png', label='spotlight' )
cmds.iconTextButton( style='iconAndTextHorizontal', image1='cone.png', label='cone' )
cmds.iconTextButton( style='iconAndTextVertical', image1='cube.png', label='cube' )
cmds.showWindow( window )
image.png

iconTextCheckBox

此控件最多支持3个图标图像和4种不同的显示样式。显示的图标图像是最适合当前控件的当前尺寸的图标。 此命令创建一个iconTextCheckBox。(多选方式)

window = cmds.window()
cmds.columnLayout( adjustableColumn=True )
cmds.iconTextCheckBox( style='textOnly', image1='sphere.png', label='sphere' )
cmds.iconTextCheckBox( style='iconOnly', image1='spotlight.png', label='spotlight' )
cmds.iconTextCheckBox( style='iconAndTextHorizontal', image1='cone.png', label='cone' )
cmds.iconTextCheckBox( style='iconAndTextVertical', image1='cube.png', label='cube' )
cmds.showWindow( window )
image.png

iconTextRadioButton

这个控制支持多达3图标图像和4种不同的显示风格。
图标的图像显示的是最适合的当前大小控制给定当前的风格。

cmds.window( tlc=(100, 400) )
cmds.columnLayout( adj=True )
cmds.iconTextRadioCollection( 'itRadCollection' )
cmds.iconTextRadioButton( st='textOnly', i1='sphere.png', l='sphere' )
cmds.iconTextRadioButton( st='iconOnly', i1='spotlight.png', l='spotlight' )
cmds.iconTextRadioButton( st='iconAndTextHorizontal', i1='cone.png', l='cone' )
cmds.iconTextRadioButton( st='iconAndTextVertical', i1='cube.png', l='cube' )
cmds.showWindow()
image.png

iconTextRadioCollection

这对于iconTextRadioButtons命令创建一个集群。
集群将父子关系到当前的默认布局如果没有指定父- p /父标志。
当孩子的布局布局被删除时,他们将被删除。
集群也可能跨越多个窗口如果使用- g /全球标志。
在这种情况下,集群没有父母所以必须显式地删除' deleteUI '命令。

cmds.window( tlc=(100, 400) )
cmds.columnLayout( adj=True )
cmds.iconTextRadioCollection( 'itRadCollection' )
cmds.iconTextRadioButton( st='textOnly', i1='sphere.png', l='sphere' )
cmds.iconTextRadioButton( st='iconOnly', i1='spotlight.png', l='spotlight' )
cmds.iconTextRadioButton( st='iconAndTextHorizontal', i1='cone.png', l='cone' )
cmds.iconTextRadioButton( st='iconAndTextVertical', i1='cube.png', l='cube' )
cmds.showWindow()
image.png

iconTextScrollList

此命令创建/编辑/查询文本滚动列表。该列表可以是单选模式,其中仅选择一个时间项,或者可以选择多个项目的多选模式。

cmds.window()
cmds.paneLayout()
cmds.iconTextScrollList(allowMultiSelection=True, append=('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen'), selectItem='six' )
cmds.showWindow()
image.png

iconTextStaticLabel

此控件最多支持3个图标图像和4种不同的显示样式。显示的图标图像是最适合当前控件的当前尺寸的图标。 此命令创建一个iconTextStaticLabel。

cmds.window( tlc=(100, 400) )
cmds.columnLayout()
cmds.iconTextStaticLabel( st='textOnly', i1='sphere.png', l='sphere' )
cmds.iconTextStaticLabel( st='iconOnly', i1='spotlight.png', l='spotlight' )
cmds.iconTextStaticLabel( st='iconAndTextHorizontal', i1='cone.png', l='cone' )
cmds.iconTextStaticLabel( st='iconAndTextVertical', i1='cube.png', l='cube' )
cmds.showWindow()
image.png

image

此命令为非xpm文件创建静态图像。此命令支持文件纹理节点支持的任何图像文件格式。

#    注意,要使用此示例,您必须用有效图像的完整路径名替换下面的“image”。必须是英文路径
window = cmds.window()
cmds.paneLayout()
cmds.image( image='image' )
cmds.showWindow( window )
image.png

intField

创建一个现场控制,只接受整数值和的最小和最大价值。

cmds.window()
cmds.columnLayout()
cmds.intField()
cmds.intField( editable=False )
cmds.intField( minValue=-10, maxValue=10, value=0 )
cmds.intField( minValue=-1000, maxValue=1000, step=10 )
cmds.showWindow()
image.png

intFieldGrp

此命令创建标签文本和可编辑整数字段的预打包集合。标签文本是可选的,可以创建一到四个字段。

window = cmds.window()
cmds.columnLayout()
cmds.intFieldGrp( numberOfFields=3, label='Scale', extraLabel='cm', value1=3, value2=5, value3=1 )
cmds.showWindow( window )
image.png

intScrollBar

创建一个滚动条控件,只接受整数值和的最小和最大价值。

cmds.columnLayout( adjustableColumn=True )
cmds.intScrollBar()
cmds.intScrollBar( min=-100, max=100, value=0, step=1, largeStep=10 )
cmds.showWindow()
image.png

intSlider

创建一个滑块控件,该控件仅接受整数值并受最小值和最大值的约束。

cmds.window()
cmds.columnLayout( adjustableColumn=True )
cmds.intSlider()
cmds.intSlider( min=-100, max=100, value=0, step=1 )
cmds.showWindow()
image.png

intSliderGrp

这个命令创建一个预包装的集合包含一个标签控件文本,一个整数字段和一个滑块的整数。
文本和字段控件是可选的。

window = cmds.window( title='intSliderGrp Example' )
cmds.columnLayout()
cmds.intSliderGrp( field=True, label='Group 1' )
cmds.intSliderGrp( field=True, label='Group 2', minValue=-10, maxValue=10, fieldMinValue=-100, fieldMaxValue=100, value=0 )
cmds.showWindow( window )
image.png

layerButton

创建一个图层栏按钮部件。
这个小部件包含它是两层的名称和一个色卡,表明它是颜色的任务。

cmds.window()
cmds.columnLayout()
# 为默认图层创建一个按钮,将其着色为红色并选择它
b = cmds.layerButton(name='defaultLayer', cl=(1.0, 0.0, 0.0), s=True)
cmds.showWindow()

# 找出创建时图层按钮的宽度
width = cmds.layerButton(b ,q=True, labelWidth=True )
image.png

messageLine

此命令创建一条消息行,其中显示工具反馈

window = cmds.window()
form = cmds.formLayout()
frame = cmds.frameLayout(labelVisible=False)
cmds.messageLine()
cmds.formLayout( form, edit=True, attachNone=(frame, 'top'), attachForm=[(frame, 'left', 0), (frame, 'bottom', 0), (frame, 'right', 0)] )
cmds.showWindow( window )

nameField

此命令创建一个可编辑字段,该字段可链接到Maya对象的名称。该字段将始终显示对象的名称。

#    创建一个窗口包含一个name字段。 将name字段与一个球体。
window = cmds.window('window')
cmds.columnLayout( adjustableColumn=True )
sphereName = cmds.sphere()
field = cmds.nameField(object=sphereName[0])
cmds.showWindow( window )

#    重命名范围和注意,name字段更新
objectName = cmds.nameField(field, query=True, object=True)
cmds.rename( objectName, 'NewName' )
image.png

nodeTreeLister

此命令创建/编辑/查询节点树列表器控件。 nodeTreeLister是一个treeLister,但假定项目具有返回依赖项节点名称的命令。支持从结果窗格拖动。

cmds.window(width=200)
cmds.formLayout('theForm')
cmds.nodeTreeLister('theTreeLister')
cmds.formLayout('theForm', e=True,
                af=(('theTreeLister', 'top', 0),
                    ('theTreeLister', 'left', 0),
                    ('theTreeLister', 'bottom', 0),
                    ('theTreeLister', 'right', 0)))
cmds.showWindow()
image.png

palettePort

此命令创建一个颜色单元格数组。它可用于存储检索您在工作会话期间要管理的某些颜色。

cmds.window()
cmds.frameLayout(labelVisible=0)

# create a palette of 20 columns and 15 rows
cmds.palettePort( 'palette', dim=(20, 15) )

# select cell #30
cmds.palettePort( 'palette', edit=True, scc=30 )

# return RGB value for this cell
cmds.palettePort( 'palette', query=True, rgb=True )

# make cell #100 transparent and blue
cmds.palettePort( 'palette', edit=True, transparent=100, rgb=(100, 0.0, 0.0, 1.0) )
cmds.palettePort( 'palette', edit=True, redraw=True )

# returns the current transparent cell (there can be only one)
cmds.palettePort( 'palette', query=True, transparent=True )
cmds.showWindow()
image.png

picture

此命令创建静态图像。

window = cmds.window()
cmds.columnLayout()
cmds.picture( image='sphere.png' )
cmds.showWindow( window )
image.png

progressBar

创建一个进度条控件,在其进度值增加时以图形方式填充。

import maya.cmds as cmds

# Create a custom progressBar in a windows ...

window = cmds.window()
cmds.columnLayout()

progressControl = cmds.progressBar(maxValue=10, width=300)
cmds.button( label='Make Progress!', command='cmds.progressBar(progressControl, edit=True, step=1)' )

cmds.showWindow( window )

# Or, to use the progress bar in the main window ...

import maya.mel
gMainProgressBar = maya.mel.eval('$tmp = $gMainProgressBar')

cmds.progressBar( gMainProgressBar,
                edit=True,
                beginProgress=True,
                isInterruptable=True,
                status='Example Calculation ...',
                maxValue=5000 )

for i in range(5000) :
    if cmds.progressBar(gMainProgressBar, query=True, isCancelled=True ) :
        break

    cmds.progressBar(gMainProgressBar, edit=True, step=1)

cmds.progressBar(gMainProgressBar, edit=True, endProgress=True)
image.png

radioButton

如果未使用-cl / collection标志,此命令将创建一个单选按钮,该按钮将添加到最近创建的无线电集合中。

cmds.window( width=150 )
cmds.columnLayout( adjustableColumn=True )
cmds.radioCollection()
cmds.radioButton( label='One' )
cmds.radioButton( label='Two' )
cmds.radioButton( label='Three' )
cmds.radioButton( label='Four' )
cmds.showWindow()
image.png

radioButtonGrp

此命令在一行中创建一到四个单选按钮。默认情况下,单选按钮将共享一个集合,但它们也可以共享另一个单选按钮组的集合。按钮还可以具有可选的文本标签。

#    Create a window with two separate radio button groups.
#
window = cmds.window()
cmds.columnLayout()
cmds.radioButtonGrp( label='Three Buttons', labelArray3=['One', 'Two', 'Three'], numberOfRadioButtons=3 )
cmds.radioButtonGrp( label='Four Buttons', labelArray4=['I', 'II', 'III', 'IV'], numberOfRadioButtons=4 )
cmds.showWindow( window )

#    Create a window with two radio button groups that are
#    linked together.
#
window = cmds.window()
cmds.columnLayout()
group1 = cmds.radioButtonGrp( numberOfRadioButtons=3, label='Colors', labelArray3=['Red', 'Blue', 'Green'] )
cmds.radioButtonGrp( numberOfRadioButtons=3, shareCollection=group1, label='', labelArray3=['Yellow', 'Orange', 'Purple'] )
cmds.showWindow( window )
image.png

radioCollection

这个命令创建一个单选按钮组。

cmds.window()
cmds.columnLayout( adjustableColumn=True, rowSpacing=10 )
cmds.frameLayout( label='Colors' )
cmds.columnLayout()
collection1 = cmds.radioCollection()
rb1 = cmds.radioButton( label='Red' )
rb2 = cmds.radioButton( label='Blue' )
rb3 = cmds.radioButton( label='Green' )
cmds.setParent( '..' )
cmds.setParent( '..' )

cmds.frameLayout( label='Position' )
cmds.columnLayout()
collection2 = cmds.radioCollection()
rb4 = cmds.radioButton( label='Top' )
rb5 = cmds.radioButton( label='Middle' )
rb6 = cmds.radioButton( label='Bottom' )
cmds.setParent( '..' )
cmds.setParent( '..' )

cmds.radioCollection( collection1, edit=True, select=rb2 )
cmds.radioCollection( collection2, edit=True, select=rb6 )
cmds.showWindow()
image.png

rangeControl

此命令创建用于显示和修改当前播放范围的控件。注意:可能只存在一个主范围控制。用户创建的任何添加范围控件都从属于主范围控件小部件。

cmds.window()
cmds.frameLayout( lv=False )
cmds.playbackOptions( minTime=0, maxTime=30 )
cmds.rangeControl( 'myRangeSlider', minRange=0, maxRange=60 )
cmds.showWindow()

scriptTable

此命令创建/编辑/查询脚本表控件

def edit_cell(row, column, value):
    return 1

window = cmds.window(widthHeight=(400, 300))
form = cmds.formLayout()
table = cmds.scriptTable(rows=4, columns=2, label=[(1,"Column 1"), (2,"Column 2")], cellChangedCmd=edit_cell)

addButton = cmds.button(label="Add Row",command="cmds.scriptTable(table, edit=True,insertRow=1)")
deleteButton = cmds.button(label="Delete Row",command="cmds.scriptTable(table, edit=True,deleteRow=1)")

cmds.formLayout(form, edit=True, attachForm=[(table, 'top', 0), (table, 'left', 0), (table, 'right', 0), (addButton, 'left', 0), (addButton, 'bottom', 0), (deleteButton, 'bottom', 0), (deleteButton, 'right', 0)], attachControl=(table, 'bottom', 0, addButton), attachNone=[(addButton, 'top'),(deleteButton, 'top')],  attachPosition=[(addButton, 'right', 0, 50), (deleteButton, 'left', 0, 50)] )

cmds.showWindow( window )

# Set and query cells
cmds.scriptTable(table, cellIndex=(1,1), edit=True, cellValue="MyValue")
print cmds.scriptTable(table, cellIndex=(1,1), query=True, cellValue=True)

# Select and query rows, columns and cells
cmds.scriptTable(table, edit=True, selectedRows=[1, 3])
print cmds.scriptTable(table, query=True, selectedRows=True)
cmds.scriptTable(table, edit=True, selectedColumns=[1])
print cmds.scriptTable(table, query=True, selectedColumns=True)
cmds.scriptTable(table, edit=True, selectedCells=[1,2,2,1,3,2,4,1])
print cmds.scriptTable(table, query=True, selectedCells=True)

# Set a filter for the first column
cmds.scriptTable(table, edit=True, columnFilter=(1,"MyValue"))
# Set a filter for all columns
cmds.scriptTable(table, edit=True, columnFilter=(0,"MyValue"))
image.png

scrollField

此命令创建一个滚动字段,用于处理多行文本。

cmds.window()
cmds.paneLayout( configuration='horizontal4' )
cmds.scrollField( editable=False, wordWrap=True, text='Non editable with word wrap' )
cmds.scrollField( editable=False, wordWrap=False, text='Non editable with no word wrap' )
cmds.scrollField( editable=True, wordWrap=True, text='Editable with word wrap' )
cmds.scrollField( editable=True, wordWrap=False, text='Editable with no word wrap' )
cmds.showWindow()
image.png

separator

此命令以各种绘图样式创建分隔符窗口小部件。

cmds.window()
cmds.rowColumnLayout( numberOfColumns=2, columnAlign=(1, 'right'), columnAttach=(2, 'both', 0), columnWidth=(2, 150) )

cmds.text( label='Default' )
cmds.separator()
cmds.text( label='None' )
cmds.separator( style='none' )
cmds.text( label='Single' )
cmds.separator( style='single' )
cmds.text( label='Etched In' )
cmds.separator( height=40, style='in' )
cmds.text( label='Etched Out' )
cmds.separator( height=40, style='out' )
cmds.setParent( '..' )
cmds.showWindow()
image.png

shelfButton

这个控制支持多达3图标图像和4种不同的显示风格。
图标的图像显示的是最适合的当前大小控制给定当前的风格。

window = cmds.window( title = 'shelfButton Example')
tabs = cmds.tabLayout()
shelf = cmds.shelfLayout()

#    Create some shelf buttons...
#
#    1.  A button that prints a message to the Command Line.
#
cmds.shelfButton( annotation='Print "Hello".', image1='commandButton.png', command='print "Hello\\n"' )

#    2.  A button that will create a sphere.
#
cmds.shelfButton( annotation='Create a sphere.', image1='sphere.png', command='cmds.sphere()' )

#    3.  A button that will open the Attribute Editor window.
#
cmds.shelfButton(annotation='Show the Attribute Editor.', image1='menuIconWindow.png', command='import maya.mel; maya.mel.eval("openAEWindow")' )

#    4.  A button with a label that will create a cone
#
cmds.shelfButton(annotation='Create a cone.', image1='cone.png', command='cmds.cone()', imageOverlayLabel='4th')

#    5.  A button with a label and color that will call undo
#
cmds.shelfButton(annotation="Undo last operation.",
    image1="undo.png", command="undo", imageOverlayLabel="undo",
    overlayLabelColor=(1, .25, .25))

#    6.  A button with a label, color and background that will call redo
#
cmds.shelfButton(annotation="Redo last operation.",
    image1="redo.png", command="redo", imageOverlayLabel="redo",
    overlayLabelColor=(1, 1, .25), overlayLabelBackColor=(.15, .9, .1, .4))

cmds.tabLayout( tabs, edit=True, tabLabel=(shelf, 'Example Shelf') )

cmds.showWindow( window )
image.png

soundControl

此命令创建一个控件,用于更改当前时间和刮擦/擦除声音文件。

# To display sound in a soundControl, there must first be a sound
# node in the scene. We'll create one and give it the name "ohNo".
# Note that the argument to the -file flag must be a path to a valid
# soundfile.
#
cmds.sound( file='ohNo.aiff', name='ohNo' )

# Create a sound control (named "soundScrubber")
# and have it display the sound associated with audio node "ohNo".
#
cmds.window()
cmds.frameLayout( lv=False )
cmds.soundControl( 'soundScrubber', width=600, height=45, sound='ohNo', displaySound=True, waveform='both' )
cmds.showWindow()

# Now setup "soundScrubber" to actually scrub with
# mouse drags.
#
pressCmd = "soundControl -e -beginScrub soundScrubber"
releaseCmd = "soundControl -e -endScrub soundScrubber"
cmds.soundControl( 'soundScrubber', e=True, pc=cmds.soundControl('soundScrubber',e=True,beginScrub=True, rc=cmds.sound('soundScrubber',e=True,endScrub=True)))

swatchDisplayPort

此命令将创建一个3dPort,用于显示表示着色节点的样本。 可选参数是3dPort的名称。

cmds.window()
cmds.columnLayout('r')
myShader = cmds.shadingNode('anisotropic', asShader=True)
cmds.swatchDisplayPort('slPP', wh=(256, 256), sn=myShader)
cmds.showWindow()
image.png

switchTable

此命令创建/编辑/查询切换表控件。 可选参数是控件的名称。

cmds.window(width=200)
cmds.formLayout('theForm')
cmds.switchTable('theSwitch')
cmds.formLayout('theForm', e=True,
                af=(('theSwitch', 'top', 0),
                    ('theSwitch', 'left', 0),
                    ('theSwitch', 'bottom', 0),
                    ('theSwitch', 'right', 0)))
cmds.showWindow()
image.png

symbolButton

这个命令创建一个符号按钮。
按钮标志像一个普通按钮,唯一的区别是一个象征按钮显示一个图像,一个文本标签。
命令可以被附加到这个按钮时,将执行按钮被按下。

cmds.window()
cmds.columnLayout()
cmds.symbolButton( image='circle.png' )
cmds.symbolButton( image='sphere.png' )
cmds.symbolButton( image='cube.png' )
cmds.showWindow()
image.png

symbolCheckBox

这个命令创建一个复选框象征。
象征复选框包含象素映射是一个简单的控制和状态。命令可以被附加到任何或所有下列事件:当象征复选框打开,关闭,或者只是当状态改变。

cmds.window()
cmds.columnLayout()
cmds.symbolCheckBox( image='circle.png' )
cmds.symbolCheckBox( image='sphere.png' )
cmds.symbolCheckBox( image='cube.png' )
cmds.showWindow()
image.png

text

创建一个简单的文本标签控件。

cmds.window( width=150 )
cmds.columnLayout( adjustableColumn=True )
cmds.text( label='Default' )
cmds.text( label='Left', align='left' )
cmds.text( label='Centre', align='center' )
cmds.text( label='Right', align='right' )
cmds.showWindow()
image.png

textField

创建文本字段控件。

#    Create a window with a some fields for entering text.
#
window = cmds.window()
cmds.rowColumnLayout( numberOfColumns=2, columnAttach=(1, 'right', 0), columnWidth=[(1, 100), (2, 250)] )
cmds.text( label='Name' )
name = cmds.textField()
cmds.text( label='Address' )
address = cmds.textField()
cmds.text( label='Phone Number' )
phoneNumber = cmds.textField()
cmds.text( label='Email' )
email = cmds.textField()

#    如果按下Enter键,则附加命令以将焦点传递到下一个字段。只按回车键将保持焦点在当前字段中。
cmds.textField( name, edit=True, enterCommand=('cmds.setFocus(\"' + address + '\")') )
cmds.textField( address, edit=True, enterCommand=('cmds.setFocus(\"' + phoneNumber + '\")') )
cmds.textField( phoneNumber, edit=True, enterCommand=('cmds.setFocus(\"' + email + '\")') )
cmds.textField( email, edit=True, enterCommand=('cmds.setFocus(\"' + name + '\")') )

cmds.showWindow( window )
image.png

textFieldButtonGrp

此命令将向textFieldGrp命令添加一个按钮。

window = cmds.window()
cmds.columnLayout()
cmds.textFieldButtonGrp( label='Label', text='Text', buttonLabel='Button' )
cmds.showWindow( window )
image.png

textFieldGrp

此命令创建标签文本和可编辑文本字段的预打包集合。标签文本是可选的。

cmds.window()
cmds.columnLayout()
cmds.textFieldGrp( label='Group 1', text='Editable' )
cmds.textFieldGrp( label='Group 2', text='Non-editable', editable=False )
cmds.showWindow()
image.png

textScrollList

此命令创建/编辑/查询文本滚动列表。该列表可以是单选模式,其中仅选择一个时间项,或者在多选模式中可以选择许多项。

cmds.window()
cmds.paneLayout()
cmds.textScrollList( numberOfRows=8, allowMultiSelection=True,
            append=['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten',
                    'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen'],
            selectItem='six', showIndexedItem=4 )
cmds.showWindow()

cmds.window()
cmds.paneLayout()
cmds.textScrollList( "myControlObj", allowMultiSelection=True,
            append=[ "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.",
                     "Each problem that I solved became a rule, which served afterwards to solve other problems."],
            uniqueTag=["Albert Einstein","Rene Descartes"])
cmds.showWindow()
cmds.textScrollList( "myControlObj", edit=True, selectUniqueTagItem=["Albert Einstein"])
cmds.textScrollList( "myControlObj", query=True, selectUniqueTagItem=True)
cmds.textScrollList( "myControlObj", edit=True, append=["Your theory is crazy, but it's not crazy enough to be true."],
                                                uniqueTag=["Niels Bohr"] )
cmds.textScrollList( "myControlObj", edit=True, selectUniqueTagItem=["Rene Descartes", "Niels Bohr"])
cmds.textScrollList( "myControlObj", query=True, selectUniqueTagItem=True)
image.png

timeControl

此命令创建一个控件,可用于更改当前时间,显示/编辑键以及显示/擦除声音。

# To display sound in the time slider, there must first be a sound
# node in the scene. We'll create one and give it the name "ohNo".
# Note that the argument to the -file flag must be a path to a valid
# soundfile.
#
cmds.sound( file='C:/My Documents/maya/projects/default/sound/ohNo.aiff', name='ohNo' )


# To display sound in the time slider, you must specify
# the sound node to display and turn display of sound "on."
# First we need to get the name of the playback slider from
# the global mel variable called gPlayBackSlider
#
import maya.mel
aPlayBackSliderPython = maya.mel.eval('$tmpVar=$gPlayBackSlider')
cmds.timeControl( aPlayBackSliderPython, e=True, sound='ohNo', displaySound=True )

# To hear sound while scrubbing in the time slider, set the press and
# release commands to begin and end sound scrubbing.
#
cmds.timeControl( aPlayBackSliderPython,edit=True,pressCommand='cmds.timeControl(aPlayBackSliderPython,edit=True,beginScrub=True)')
cmds.timeControl( aPlayBackSliderPython,edit=True,releaseCommand='cmds.timeControl(aPlayBackSliderPython,edit=True,endScrub=True)')

timeField

创建仅接受时间值的字段控件。

window = cmds.window()
cmds.columnLayout()
cmds.timeField()
cmds.timeField( editable=False )
cmds.timeField( value=0 )
cmds.timeField( precision=2 )
cmds.timeField( precision=4, step=.01 )
cmds.showWindow( window )
image.png

timeFieldGrp

此命令创建标签文本和可编辑时间字段的预打包集合。标签文本是可选的,可以创建一到四个时间字段。

window = cmds.window()
cmds.columnLayout()
cmds.timeFieldGrp( numberOfFields=3, label='Scale', extraLabel='cm', value1=0.3, value2=0.5, value3=0.1 )
cmds.showWindow( window )
image.png

timePort

此命令创建一个简单的时间控件小部件。
另请参见“timeControl”命令。

# Create a window that has a timePort in it
#
cmds.window( w=500, h=35 )
cmds.columnLayout()
cmds.timePort( 'myTimePort' )
cmds.showWindow()

# Turn snapping off on the above timePort
#
cmds.timePort( 'myTimePort', e=True, snap=False )

Create a window that has a timePort in it

cmds.window( w=500, h=35 )
cmds.columnLayout()
cmds.timePort( 'myTimePort' )
cmds.showWindow()

Turn snapping off on the above timePort

cmds.timePort( 'myTimePort', e=True, snap=False )


# toolButton
>除非使用cl / collection标志,否则此命令将创建一个添加到最近创建的工具按钮集合的toolButton。它还附加了命名工具,在选择此控件时激活它

cmds.window()
cmds.columnLayout()
cmds.toolCollection()
cmds.toolButton( tool='selectSuperContext', toolImage1=('selectSuperContext', 'aselect.xpm') )
cmds.toolButton( tool='moveSuperContext', toolImage1=('moveSuperContext', 'move_M.xpm') )
cmds.toolButton( tool='scaleSuperContext', toolImage1=('scaleSuperContext', 'scale_M.png') )
cmds.showWindow()

example showing how to create tool buttons for artisan tools

create the contexts

selectCtx = cmds.artSelectCtx()
puttyCtx = cmds.artPuttyCtx()
setPaintCtx = cmds.artSetPaintCtx()

cmds.window()
cmds.gridLayout()
cmds.toolCollection()

create the tool buttons using the contexts returned

cmds.toolButton(
amt=True, piv=True,
doubleClickCommand='cmds.toolPropertyWindow()',
tool=(selectCtx, puttyCtx, setPaintCtx),
toolImage1=(selectCtx, 'artSelect.xpm'),
toolImage2=(puttyCtx, 'putty.png'),
toolImage3=(setPaintCtx, 'paintSetMembership.png') )
cmds.showWindow()

![image.png](https://upload-images.jianshu.io/upload_images/9819652-46ec61ba4339d770.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

# toolCollection
>此命令创建工具按钮集合。

cmds.window()
cmds.columnLayout()
cmds.toolCollection()
cmds.toolButton( tool='selectSuperContext', toolImage1=('selectSuperContext', 'aselect.xpm') )
cmds.toolButton( tool='moveSuperContext', toolImage1=('moveSuperContext', 'move_M.png') )
cmds.toolButton( tool='scaleSuperContext', toolImage1=('scaleSuperContext', 'scale_M.png') )
cmds.showWindow()

![image.png](https://upload-images.jianshu.io/upload_images/9819652-bc5d67f968bf5033.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

# treeLister
>此命令创建/编辑/查询树列表控件。可选参数是控件的名称。

w = cmds.window(width=200)
fl = cmds.formLayout()
tl = cmds.treeLister()
cmds.formLayout(fl, e=True,
af=((tl, 'top', 0),
(tl, 'left', 0),
(tl, 'bottom', 0),
(tl, 'right', 0)))
cmds.showWindow(w)
items=['root/branchone/leafone',
'root/branchone/leaftwo',
'root/branchtwo/leafthree']
cmds.treeLister(tl, e=True, add=[(i, 'sphere.png', cmds.sphere) for i in items])

![image.png](https://upload-images.jianshu.io/upload_images/9819652-07fe0a2ad7de0534.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![image.png](https://upload-images.jianshu.io/upload_images/9819652-c7740828efdfddf7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

# treeView
>此命令创建自定义控件。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,875评论 0 0
  • 1、图形化界面设计的基本理解当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Inte...
    IIronMan阅读 256,961评论 15 243
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,229评论 1 41
  • 简介 筛选功能在慧驾项目中用的比较多,所以抽取出来,以便简化代码,便于维护 类与方法说明 LCMenuView菜单...
    HolyCat_猫阅读 449评论 0 1
  • 太多的债务,没有理清;太多的恩情,没有回报;太多的伤口,没有愈合;太多的亏欠,没有补偿…… 太多、太多的不公平,六...
    所以我快乐阅读 114评论 0 0