You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maya自定义菜单可被查询到但未在菜单栏显示问题求助

Maya自定义菜单创建后不显示的原因及解决方案

核心原因

  • Maya 2018及后续版本默认启用优化菜单栏功能,系统默认仅渲染和当前工作区匹配的官方菜单,自定义菜单默认不会进入优化显示列表,因此你虽然创建成功(可以通过查询代码查到),但不会在菜单栏显示。
  • 你使用的pm.menu创建逻辑没有做重名菜单清理,也未添加适配优化菜单栏的参数,重复创建的隐藏重名菜单会导致新菜单继承隐藏状态。

修复方案

修正后的完整可运行代码

import pymel.core as pm
import maya.mel as mel

# 获取Maya主窗口
MainMayaWindow = mel.eval("$tmpVar = $gMainWindow")

# 先清理已存在的同名菜单,避免重名冲突
custom_menu_id = "CustomMenu"
custom_menu_label = "自定义菜单"
if pm.menu(custom_menu_id, exists=True):
    pm.deleteUI(custom_menu_id)

# 创建菜单时添加适配优化菜单栏的参数
customMenu = pm.menu(
    custom_menu_id,
    label=custom_menu_label,
    parent=MainMayaWindow,
    allowOptimizedMenuBar=True,
    tearOff=True
)

# 添加菜单项,改用lambda避免字符串命令的作用域问题
pm.menuItem(label="测试菜单项 'hihi'", command=lambda *x: print("hihi"), parent=customMenu)

# 强制刷新菜单可见状态
pm.menu(customMenu, e=True, visible=True)

可选手动操作

如果运行代码后还是看不到菜单,可以点击Maya菜单栏最右侧的+按钮(优化菜单栏自定义入口),在弹出的菜单列表中找到你的自定义菜单,勾选后即可固定显示在菜单栏。

内容的提问来源于stack exchange,提问作者nish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:24:04