如何使用Python从主窗口中删除菜单项?我使用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()')
Mel (工作)
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";
答案 0 :(得分:4)
以下是创建主菜单项的方法:
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, vis=1))
mc.deleteUI(menuJM)
mc.refresh()
希望这有帮助。