美文网首页
PythonMaya-GUI-Controls(控制)

PythonMaya-GUI-Controls(控制)

作者: Ivan杨杨兮 | 来源:发表于2018-11-28 18:26 被阅读0次

    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://img.haomeiwen.com/i9819652/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://img.haomeiwen.com/i9819652/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://img.haomeiwen.com/i9819652/07fe0a2ad7de0534.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    ![image.png](https://img.haomeiwen.com/i9819652/c7740828efdfddf7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    # treeView
    >此命令创建自定义控件。
    
    
    

    相关文章

      网友评论

          本文标题:PythonMaya-GUI-Controls(控制)

          本文链接:https://www.haomeiwen.com/subject/nsrzqqtx.html