ウィンドウ関連のメソッド


新たにウィンドウを開いたり,閉じたり,ウィンドウにタイトルをつけたり,ウィンドウのサイズを変更付加にしたり...様々なウィンドウに対するアクションをコントロールするには,ウィンドウマネージャとやりとりを行わなくてはなりません.その目的のため,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を参照してください.