gpt4 book ai didi

python - 使用 Python 在 Maya 中删除菜单项

转载 作者:太空宇宙 更新时间:2023-11-03 14:53:55 24 4
gpt4 key购买 nike

如何使用 Python 从主窗口中删除菜单项?我使用 MEL 可以正常工作,但我也需要在 Python 中使用它。

不起作用的部分是查找菜单(如果存在并删除)。我似乎找不到 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()

enter image description here

关于python - 使用 Python 在 Maya 中删除菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44142119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com