【问题标题】:Switchable Radio Buttons (editing a command)可切换单选按钮(编辑命令)
【发布时间】:2016-09-05 17:38:19
【问题描述】:

我对如何编写用于编辑命令的正确语法有点困惑。

在我的 radioOn 和 radioOff 命令中,我希望启用/禁用复选框来启用或禁用单选按钮。

from functools import partial
import maya.cmds as cmds

def one ():
    print '1'

def two ():
    print '2'



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


window = cmds.window(winID, sizeable = False, title="Resolution Switcher", widthHeight=(300, 100) )

cmds.columnLayout( )
cmds.text (label = '')
cmds.text (label = '')
cmds.checkBoxGrp( cat = (1,'left', 20), ncb = 1, l1='  DISABLE', offCommand = partial(radioOn, a), onCommand = partial(radioOff, a) )
a = cmds.radioButtonGrp( cat = [(1,'left', 90),(2, 'left', 100)], numberOfRadioButtons=2,   on1 = 'one ()' , on2 = 'two ()' )
cmds.text (label = '')

def radioOff (a, *args):
    print 'radios off'
    a(ed=True, enable=False)

def radioOn (a, *args):
    print 'radios on'
    a(ed=True, enable=False)


cmds.showWindow( window )

我试图从示例中得到一个想法,例如here 所示的示例,但是 但是当我放下 cmds.radioButtonGrp(a, ed=True, enable=False) 时,它只会不断创建新的单选按钮,与示例中显示的浮动字段不同。

底线是 - 我只想让单选按钮在我点击复选框时灰显并禁用。说到这 - 是否可以像浮动字段一样将单选按钮变灰?我注意到禁用它们只会使它们无法点击 - 但不会变灰。

提前谢谢你。

【问题讨论】:

    标签: python user-interface checkbox radio-button maya


    【解决方案1】:
    from functools import partial
    import maya.cmds as cmds
    
    def one (*args):
        print '1'
    
    def two (*args):
        print '2'
    
    def radioSwitch (a, state, *args):
        if state:
            cmds.radioButtonGrp(a, e=True, enable=False)
        else:
            cmds.radioButtonGrp(a, e=True, enable=True)
    
    winID = 'xx'
    if cmds.window(winID, exists=True):
        cmds.deleteUI(winID)
    
    
    window = cmds.window(winID, sizeable = False, title="Resolution Switcher", widthHeight=(300, 100) )
    
    cmds.columnLayout( )
    cmds.text (label = '')
    cmds.text (label = '')
    cb_disable = cmds.checkBoxGrp( cat = (1,'left', 20), ncb = 1, l1='  DISABLE', offCommand = "" , onCommand = "" )
    a = cmds.radioButtonGrp( cat = [(1,'left', 90),(2, 'left', 100)], enable=True, numberOfRadioButtons=2,   on1 = one , on2 = two )
    cmds.checkBoxGrp(cb_disable, e=1, offCommand = partial(radioSwitch, a, False))
    cmds.checkBoxGrp(cb_disable, e=1, onCommand = partial(radioSwitch, a, True))
    cmds.text (label = '')
    cmds.showWindow( window )
    

    【讨论】:

      猜你喜欢
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 1970-01-01
      • 2012-12-11
      相关资源
      最近更新 更多