UI 要素を削除する

UI 要素は「deleteUI」コマンドで削除するか、その親が削除されると削除されます。たとえば、前述のスクリプト 4 を実行した後でコマンドを実行すると、列レイアウト「TestColumnLayout」と、子ボタンが削除されます。

deleteUI ExampleWindow4|TestFrameLayout|TestColumnLayout;

ユーザにより作成された UI 要素が累積されることを避けるために、ウィンドウの既定の動作では、UI 要素とそのコンテンツはウィンドウを閉じたときに削除されます。したがって、ウィンドウ メニュー、または「-vis/visible false」フラグを使用してウィンドウを閉じると、ウィンドウとそのコンテンツが削除されます。作成時に「-ret/retain」フラグを使用することにより、可視となっていないウィンドウを常駐させることができます。

危険: ウィンドウのフィールドに対するコールバックで、ウィンドウ自体に対して deleteUI コマンドが実行された場合、Maya で致命的なエラーが発生します。例:

window w; columnLayout; textField -cc "deleteUI w"; showWindow w;

致命的なエラーを回避するには、evalDeferred コマンドを使用します。前の例では、textField コマンドを次のように変更してください。

textField -cc "evalDeferred (¥"deleteUI w¥")";