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)
如果不行
如果您无法创建该菜单,问题是您的模块可能已损坏。我认为你可以做的最好的两件事 - 重新安装,或者只使用 而不是 PyMel
或 OpenMaya
.
不使用 PyMel 的主要原因 – 因为它太慢了。不使用 OpenMaya 的主要原因 – 因为有太多样板代码。观看 this video 以了解 PyMel 模块的优缺点。
我正在尝试在 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)
如果不行
如果您无法创建该菜单,问题是您的模块可能已损坏。我认为你可以做的最好的两件事 - 重新安装,或者只使用 PyMel
或 OpenMaya
.
不使用 PyMel 的主要原因 – 因为它太慢了。不使用 OpenMaya 的主要原因 – 因为有太多样板代码。观看 this video 以了解 PyMel 模块的优缺点。