0

我正在编写一个 MEL 脚本,其中涉及打开油脂铅笔 UI 工具栏。我想删除该工具栏上的关闭按钮。我试着做

GreasePencilTool;
window -edit -tbm 0 greasePencilFloatingWindow;

但得到Error: line 2: window: Object 'greasePencilFloatingWindow' not found.

进一步的测试表明,运行

GreasePencilTool;
window -q -exists greasePencilFloatingWindow;

将返回结果 0。

运行GreasePencilTool;然后window -edit -tbm 0 greasePencilFloatingWindow;在不同的时间按预期工作,就像window -edit -tbm 0 greasePencilFloatingWindow;在工具栏已经打开时运行一样。

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

我能想到的最接近的事情说明了我想要做的是 Javascript 回调函数,一旦当前函数完成,就可以在其中执行另一个函数......但是有没有办法在 MEL 中做类似的事情?

我也尝试过使用该evalDeferred命令但没有成功。

4

1 回答 1

0

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

它很丑。但这可能是唯一的方法,因为当窗口到达时没有事件会通知。如果您这样做,请在脚本作业触发后自杀,这样它就不会在每次空闲检查时都坐在那里,直到时间结束。

于 2014-08-07T23:10:51.527 回答