使用 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()