新規作成  編集  Ruby-GNOME2 Project Website  ページ一覧  検索  更新履歴  編集履歴  RSS  ログイン

アスペクトフレーム

アスペクトフレーム

アスペクトフレームウィジェットはフレームウィジェットに似ているが,必要に応じてスペースを空けるなどして子ウィジェットのアスペクト比(幅と高さの比)を一定に保つという点で異なる. これは,例えば大きなイメージのプレビューを表示する際に便利である. プレビューのサイズはユーザがウィンドウをリサイズすると変化するが,そのアスペクト比は元のイメージと同じであることが望ましい.

新しくアスペクトフレームを作成するには:

Gtk::AspectFrame.new(label, xalign, yalign, ratio, obey_child)

xalignとyalignにはアラインメントウィジェットと同様のアラインメント値を与える. もしobey_childがtrueなら,子ウィジェットのアスペクト比は子ウィジェットが要求する理想的なサイズに保たれう.falseを指定するとアスペクト比はratioになる.

既にあるアスペクトフレームのオプションを変更するには以下のメソッドを使う.

Gtk::AspectFrame#set(xalign, yalign, ratio, obey_child)

次のサンプルは,ユーザがトップレベルウィンドウをリサイズしてもドローイングエリアのアスペクト比を常に 2:1に保つようになっている.

#! /usr/bin/env ruby

require 'gtk2'

window = Gtk::Window.new
window.title = "Aspect Frame"
window.signal_connect("destroy") {Gtk.main_quit}
window.border_width = 10

aspect_frame = Gtk::AspectFrame.new(
	"2x1",    # label
	0.5,      # xalign
	0.5,      # yalign
	2,        # ratio == xsize/ysize
	false     # ignore child's aspect
)

window.add(aspect_frame)

drawing_area = Gtk::DrawingArea.new
drawing_area.set_size_request(200, 200)
aspect_frame.add(drawing_area)

window.show_all

Gtk.main
更新日時:2006/07/02 14:31:54
キーワード:
参照:[gtk2-tut]