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

gtk2-tut-fixed

フィックスドコンテナ

フィックスドコンテナを使うと,子ウィジェットをウィンドウ内の左上を起点とした固定位置へ配置することができる. ウィジェットを配置する位置は動的に変更できる.

Gtk::Fixed.new
Gtk::Fixed#put(widget, x, y)
Gtk::Fixed#move(widget, x, y)

Gtk::Fixed.newは新しくフィックスドコンテナを作成する.

Gtk::Fixed#putはwidgetをフィックスドコンテナ内のxとyで指定した位置に配置する.

Gtk::Fixed#moveは指定したウィジェットを指定した位置へ移動する.

Gtk::Fixed#has_window=(has_window)
Gtk::Fixed#set_has_window(has_window)
Gtk::Fixed#has_window?

通常フィックスドコンテナはXのウィンドウを持たない. これは以前のGTKとは異なる仕様なので,フィックスドコンテナが自分自身のウィンドウを持つよう設定するためにGtk::has_window=?が用意されている. このメソッドはウィジェットが表示される前に呼ぶ必要がある.

fixedcontainer.png 以下の例はフィックスドコンテナの使用例である.

#! /usr/bin/env ruby

require 'gtk2'

x = 50
y = 50

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

fixed = Gtk::Fixed.new
window.add(fixed)

1.upto(3) do |i|
	button = Gtk::Button.new("Press me")
	button.signal_connect("clicked") do |w|
		x = (x + 30) % 300
		y = (y + 50) % 300
		fixed.move(w, x, y)
	end
	fixed.put(button, i * 50, i * 50)
end

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