可切换单选按钮(编辑命令)
Switchable Radio Buttons (editing a command)
我对如何编写用于编辑命令的正确语法有些困惑。
在我的 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 )
我试图从例子中得到一个想法,比如显示的例子 ,但是
但是当我放下 cmds.radioButtonGrp(a, ed=True, enable=False)
时,它只是不断地创建新的单选按钮,与示例中带有浮动字段的内容没有什么不同。
底线是 - 我只想在我点击复选框时将单选按钮灰显并禁用。说到这 - 是否可以像浮动字段一样使单选按钮变灰?我注意到禁用它们只会使它们无法点击 - 但不会变灰。
提前致谢。
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 )
我对如何编写用于编辑命令的正确语法有些困惑。
在我的 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 )
我试图从例子中得到一个想法,比如显示的例子 cmds.radioButtonGrp(a, ed=True, enable=False)
时,它只是不断地创建新的单选按钮,与示例中带有浮动字段的内容没有什么不同。
底线是 - 我只想在我点击复选框时将单选按钮灰显并禁用。说到这 - 是否可以像浮动字段一样使单选按钮变灰?我注意到禁用它们只会使它们无法点击 - 但不会变灰。
提前致谢。
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 )