トップレベル(Toplevel)

トップレベルは新たにウィンドウを作成するときに使用するウィジェットです.

Ruby/TkではTkToplevelクラスが相当します.

使用例を示します.

#!/usr/local/bin/ruby

require 'tk'

rootwindow = TkRoot.new
rootwindow.title('ルートウィンドウ')

TkLabel.new(rootwindow,
	    'text' => 'これがルートウィンドウです.').pack

newwindow = TkToplevel.new
newwindow.title('新しいウィンドウ')

TkLabel.new(newwindow,
	    'text' => 'これが新しいウィンドウです.').pack
TkButton.new(newwindow,
	     'text' => 'close',
	     'command' => proc{newwindow.destroy}).pack
Tk.mainloop
上記のプログラムを走らせると,ルートウィンドウとは別に,新しいウィンドウができます.また,closeボタンを押すと,新しいウィンドウだけが消去されます.

また,TkRootクラスはルートウィンドウのウィジェットです.ルートウィンドウを消去すると,新しいウィンドウも消去されます.ただ,ルートウィジェットは最初から生成されるので,これまでのプログラムの様に必ずしも明示的に生成する必要はありません.

TkToplevel(TkRoot)クラスのインスタンス変数とメソッドの例を以下に示します.

インスタンス変数とメソッド(抄)
インスタンス変数名 役割
aspect ウィンドウの縦横比の範囲.'a b c d'の書式で,横幅/縦幅がa/bからc/dの範囲になるようにする.
maxsize ウィンドウの最大幅を指定.
minsize ウィンドウの最小幅を指定.
resizable サイズ変更の可否.'x y'で設定.xおよびyの値はそれぞれ水平方向,垂直方向についての指定で,1で変更可.0で不可.
title タイトル名
メソッド名 役割
deiconify ウィンドウを開く.
destroy ウィンドウを閉じる.
iconify ウィンドウをアイコン化する.
withdraw ウィンドウを隠す(アイコンは表示されない).


戻る