User interface 打开窗口后执行MEL命令

User interface 打开窗口后执行MEL命令,user-interface,maya,mel,User Interface,Maya,Mel,我正在编写一个MEL脚本,其中包括打开油笔UI工具栏。我想删除该工具栏上的“关闭”按钮。我试过了 GreasePencilTool; window -edit -tbm 0 greasePencilFloatingWindow; 但是获取错误:第2行:窗口:未找到对象“greasePencilFloatingWindow”。 进一步的测试表明 GreasePencilTool; window -q -exists greasePencilFloatingWindow; 将返回0的结果 运行G

我正在编写一个MEL脚本,其中包括打开油笔UI工具栏。我想删除该工具栏上的“关闭”按钮。我试过了

GreasePencilTool;
window -edit -tbm 0 greasePencilFloatingWindow;
但是获取
错误:第2行:窗口:未找到对象“greasePencilFloatingWindow”。

进一步的测试表明

GreasePencilTool;
window -q -exists greasePencilFloatingWindow;
将返回0的结果

运行
GreasePencilTool然后<代码>窗口-编辑-tbm 0润滑脂过滤窗口在不同的时间按预期工作,运行
窗口-编辑-tbm 0 greasePencilFloatingWindow也按预期工作当工具栏已打开时

但是,我需要能够在工具栏打开时立即删除关闭按钮

我能想到的最接近我想要做的事情是Javascript回调函数,在当前函数完成后,可以执行另一个函数。。。但是在梅尔有没有办法做到这一点


我也尝试过使用
evaldeerred
命令,但没有成功。

油笔工具是异步启动的,因此窗口在未知的时间长度内不会出现。这意味着您最好触发一个函数,该函数将定期检查,并在下次找到正确命名的窗口时执行该操作;您可以将其附加到空闲时间脚本作业

很难看。但这可能是唯一的方法,因为没有任何事件会在窗口到达时发出通知。如果你这么做了,在脚本启动后让它自杀,这样它就不会在每一次空闲检查中一直坐在那里直到时间结束