新たにウィンドウを開いたり,閉じたり,ウィンドウにタイトルをつけたり,ウィンドウのサイズを変更付加にしたり...様々なウィンドウに対するアクションをコントロールするには,ウィンドウマネージャとやりとりを行わなくてはなりません.その目的のため,perl/Tkではwmメソッドが多数用意されています.ここでは,用途別に主なメソッドを紹介します.
Toplevelを使い,新規にウィンドウを作成します.設定ウィンドウなど,MainWindow以外に新たなウィンドウを作りたい場合に用います.実は,perl/Tkプログラムの最初に出てくる,MainWindow->new もToplevelウィジェットの特殊なケース(親ウィジェットがないToplevel)です.
書式: $child = $parent->Toplevel(?options?)
設定ウィンドウでOKを押した後などウィンドウを消す時は,メソッドdestroyを使います.exitが実行されると,全てのウィンドウに対して,destroyが実行されます.(destroyはTk::WidgetでWMではありません)
書式: $widget->destroy
Introductionでやりました.titleをつかいます.
書式: $toplevel->title('string')
設定ウィンドウなどの場合,ウィンドウの大きさを変化させたくない場合があります.このようなときは,resizableを使います.
書式: $toplevel->resizable(x, y)
x, y は0か1でそれぞれの方向に変更できるかどうかを設定する.0,0で完全に変更不可になる.
ウィンドウをアイコン化,アイコン化の解除するには次のメソッドを使います.
書式: $toplevel->iconify (アイコン化)
$toplevel->deiconify (アイコン化解除)
ウィンドウをどこまでリサイズできるのかを指定します.
書式: $toplevel->maxsize(width, height) (最大サイズ)
$toplevel->minsize(width, height) (最小サイズ)
ウィジェットを選択状態にします.
書式: $widget->focus
現在のウィンドウ以外の操作を受け付けなくします.
書式: $widget->grab (グラブを設定)
$widget->grabRelease (グラブを開放)
その他たくさんのメソッドがあります.詳しくはQuickReferenceのWidgetもしくはWmを参照してください.