Maya2023 MEL:我之前多次使用 popupMenu 命令,没有出现任何问题,但是这次我不断收到一条错误消息,提示无法找到 popupMenu 的父菜单项(尽管第一个实际上存在,并且在脚本错误后被解释)评估,尽管没有弹出菜单或相关的 scriptJob)
global proc csb_pT_addEnvToMenu(string $envName, string $parent)
{
//install to environments menuItems if exists
string $parentMenuItem[]={"csb_pT_Env_mi","csb_pT_Env_DT_mi"};
for($pm in $parentMenuItem)
{
if(`menuItem -q -ex $pm`)
{
string $mi=`menuItem
-p $pm
-l ($envName)
-c ("csb_pT_setEnvironment(\""+$parent+"\");")`;
if($envName!="WORLD")
{
string $pop=`popupMenu
-p $mi // this line triggers error:"Error:file:path/script.mel //line 160: popupMenu: Object 'MayaWindow|menu16|menuItem185|csb_pT_Env_mi|menuItem1667' not found."
-b 3`;
menuItem
-p $pop
-l "Rename"
-c("csb_pT_renameEnv(\""+$parent+"\");");
}
//attach script Job to remove menuItem when envParent is deleted
scriptJob -nd $parent ("deleteUI \""+$mi+"\";");
}
}
}
由于某种原因,这个问题难倒了我。我已经验证了父菜单项的名称,我尝试删除 menuItem 创建和 popupMenu 之间的 if() ,但这没有效果。我也尝试过刷新;在menuItem和popupMenu之间,也没有效果。任何建议将不胜感激! 非常感谢。
好吧,显然 popupMenus 只适用于非 menuItem 对象,令人失望,但这毕竟是 Maya。