Maya – 自定义菜单未显示在菜单栏上

Maya – Custom menu is not showing on menu bar

我正在尝试在 Maya 中构建自定义菜单。

google 组有此代码,它表明它有效,但当我尝试时,它没有显示在菜单栏中。我已经尝试了几个小时。它在菜单中显示还需要什么。 IOW 为什么它不显示在 maya 菜单栏中。

https://groups.google.com/g/python_inside_maya/c/XqM7Rkm2kOE

import pymel.core as pm

# Name of the global variable for the Maya window
MainMayaWindow = pm.language.melGlobals['gMainWindow'] 

# Build a menu and parent underthe Maya Window
customMenu = pm.menu('Custom Menu', parent=MainMayaWindow)
# Build a menu item and parent under the 'customMenu'
pm.menuItem(label="menu item 'hihi'", command="print 'hihi'", parent=customMenu)

编辑: 查询菜单时它确实显示在列表中

maya_main_window = mel.eval("$tmpVar = $gMainWindow")

menus = cmds.window(maya_main_window, query=True, menuArray=True)
for menu in menus:
    print menu

有效

我在 macOS Monterey 上使用 Maya 2020 运行。您的代码工作正常。这是屏幕截图:

import pymel.core as pm

MainMayaWindow = pm.language.melGlobals['gMainWindow']
customMenu = pm.menu('Custom Menu', parent=MainMayaWindow)
pm.menuItem(l="menu item 'hihi'", command="print 'hihi'", parent=customMenu)

如果不行

如果您无法创建该菜单,问题是您的模块可能已损坏。我认为你可以做的最好的两件事 - 重新安装,或者只使用 而不是 PyMelOpenMaya.

不使用 PyMel 的主要原因 – 因为它太慢了。不使用 OpenMaya 的主要原因 – 因为有太多样板代码。观看 this video 以了解 PyMel 模块的优缺点。