使用 Python 在 Maya 中删除菜单项
Remove Menu Item in Maya using Python
如何使用 Python 从主 window 中删除菜单项?我使用 MEL 可以正常工作,但我在 Python 中也需要它。
不工作的部分是 find menu if exists and delete
。我似乎无法在 Python.
中找到等效项
Python(不工作)
import maya.cmds as cmds
if(???)
{
#cmds.deleteUI('JokerMartini', menu=True )
}
cmds.menu(label='JokerMartini', tearOff=True, p='MayaWindow')
cmds.menuItem(label='Action 1', c= 'something.run()')
cmds.menuItem(divider=True)
cmds.menuItem(label='Action 2', c= 'something.run()')
梅尔(工作)
if(`menu -exists JokerMartini`)
{
deleteUI JokerMartini;
}
global string $gMainWindow;
setParent $gMainWindow;
menu -label "JokerMartini" -to true -aob true JokerMartini;
menuItem -label "Action 1" -command "something";
menuItem -label "Rename..." -command "something";
这是创建主菜单项的方法:
import maya.cmds as mc
menuJM = "JM"
labelMenu = "JokerMartini"
mc.menu(menuJM, l=labelMenu, to=1, p='MayaWindow')
mc.menuItem(l='Action 1', c='something.run()')
mc.menuItem(d=True)
mc.menuItem(l='Action 2', c='something.run()')
对于删除,您应该使用这种方法:
if mc.menu(menuJM, l=labelMenu, p='MayaWindow') != 0:
mc.deleteUI(mc.menu(menuJM, l=labelMenu, e=1, dai=1))
mc.deleteUI(menuJM)
mc.refresh()
如何使用 Python 从主 window 中删除菜单项?我使用 MEL 可以正常工作,但我在 Python 中也需要它。
不工作的部分是 find menu if exists and delete
。我似乎无法在 Python.
Python(不工作)
import maya.cmds as cmds
if(???)
{
#cmds.deleteUI('JokerMartini', menu=True )
}
cmds.menu(label='JokerMartini', tearOff=True, p='MayaWindow')
cmds.menuItem(label='Action 1', c= 'something.run()')
cmds.menuItem(divider=True)
cmds.menuItem(label='Action 2', c= 'something.run()')
梅尔(工作)
if(`menu -exists JokerMartini`)
{
deleteUI JokerMartini;
}
global string $gMainWindow;
setParent $gMainWindow;
menu -label "JokerMartini" -to true -aob true JokerMartini;
menuItem -label "Action 1" -command "something";
menuItem -label "Rename..." -command "something";
这是创建主菜单项的方法:
import maya.cmds as mc
menuJM = "JM"
labelMenu = "JokerMartini"
mc.menu(menuJM, l=labelMenu, to=1, p='MayaWindow')
mc.menuItem(l='Action 1', c='something.run()')
mc.menuItem(d=True)
mc.menuItem(l='Action 2', c='something.run()')
对于删除,您应该使用这种方法:
if mc.menu(menuJM, l=labelMenu, p='MayaWindow') != 0:
mc.deleteUI(mc.menu(menuJM, l=labelMenu, e=1, dai=1))
mc.deleteUI(menuJM)
mc.refresh()