幅指定 Entry

Gtk::Entry の表示幅をぴったりこの文字列の幅に合わせたいってことが ありますよね。でもピクセル値で幅を指定すると、違うフォントが使われ た時にずれてしまう。ということで、new("文字列") とす ると、自動的にその文字列に合わせた幅を持つ Entry を作るようなモジュー ルです。

module WidthEntry
  def initialize(str=nil)
    super()
    if str
      signal_connect("map") do
        set_usize(style.font.string_width(str)+8, -2)
      end
    end
  end
end

使用例

class MyEntry < Gtk::Entry
  include WidthEntry
end

w = Gtk::Window::new.show
h = Gtk::HBox::new.show
e = MyEntry::new("Seventeen's Map").show
h.pack_start e, false, false
w.add h
Gtk::main

ほらピッタリ!
sample image


tommy@tmtm.org

Last modified: Sat Sep 15 04:09:08 JST 2001