简略的说, 只要用这个MEL command 就好了:
setAllMainWindowComponentsVisible <true|false>;
但是, 这个不能用于来回切换. 而且也没办法查询到当前的状态, 或者上次运行完后是什么状态. 还有就是传递一个’true’ 参数并不意味着 “显示UI” ,而是”恢复这些UI的状态到他们被直接隐藏之前的状态”
你可以换用下面几种方法:
- 任选一个 UI elements ,用他的visibility状态来判定你是正在显示还是隐藏UI. 比如, 你可以用 Time Slider来判定:
setAllMainWindowComponentsVisible( !isTimeSliderVisible() );
或者用 Shelf来判断:
setAllMainWindowComponentsVisible( !isShelfVisible() );
- 自己定义一个 optionVar 来存贮上次切换之后的状态, 用他的值来判断本次切换的状态:
int $globalUIVisibilityFlag = true; if ( `optionVar -exists globalUIVisibilityFlag` ) $globalUIVisibilityFlag = `optionVar -q globalUIVisibilityFlag`; $globalUIVisibilityFlag = !$globalUIVisibilityFlag; setAllMainWindowComponentsVisible $globalUIVisibilityFlag; optionVar -intValue globalUIVisibilityFlag $globalUIVisibilityFlag;
但这种方法也不方便, 而且上面也讲了, setAll…() function 并不是在把 UI elements 显示或隐藏. 他只是把他们隐藏并且保存他们上一次的可见状态. 如果在你运行script之前,所有UI本身就已经是隐藏的了,那 setAll…() script 就会记住所有东西都是隐藏的了,下次他就没法让他们显示出来,除非你手动显示那些UI.
- 自己写一个切换的 script ,当要隐藏的时候强制隐藏UI,要显示的时候强制显示UI.
Related How-To’s
- How can I use a single hotkey to toggle a ‘Show’ Option (or other mode)?
- How do I toggle playback between “Normal” and “Free” while playback is running? It only seems to take effect when I restart playback at the beginning.
- How do I toggle the visibility of the Model panels’ menu bars?
- How do I toggle the Polygon statistics in the Heads-up Display?
Wednesday, November 29, 2000