[ruby-gnome2-doc-cvs] [Hiki] update - テキストエントリ

Back to archive index

ruby-****@lists***** ruby-****@lists*****
2003年 5月 26日 (月) 22:53:17 JST


-------------------------
REMOTE_ADDR = 210.249.193.205
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/?%A5%C6%A5%AD%A5%B9%A5%C8%A5%A8%A5%F3%A5%C8%A5%EA
-------------------------

-------------------------
= Gtk::Entry
1行だけのテキストボックスです。

== 基本的な使い方
  require 'gtk'

  entry = Gtk::Entry.new
  entry.set_text("Hello World")
  window = Gtk::Window.new
  window.set_usize(100,100)
  window.add(entry)
  window.show_all
  Gtk.main

--- Gtk::Entry.new
    テキストボックスを生成します。

--- Gtk::Entry.set_text(text)
    テキストを設定します。

== 入力された文字列を取得する
ボタンがクリックされた時に標準出力に入力された文字列を出力する例です。

  require 'gtk'

  entry = Gtk::Entry.new 
  button = Gtk::Button.new("click!")
  button.signal_connect(Gtk::Button::SIGNAL_CLICKED) do
    p entry.get_text
  end
 
  vbox = Gtk::VBox.new
  vbox.pack_start(entry)
  vbox.pack_start(button)
  window = Gtk::Window.new
  window.set_usize(100,100)
  window.add(vbox)
  window.show_all
  Gtk.main
	  
--- Gtk::Entry#get_text
    テキストボックスの文字列を返します。

== 最大長を指定する
入力可能な最大長を指定するには、Gtk::Entry#set_max_length()を使います。

  require 'gtk'

  entry = Gtk::Entry.new
  entry.set_max_length(10)

  window = Gtk::Window.new
  window.set_usize(100,100)
  window.add(entry)
  window.show_all
  Gtk.main

ただし、ここでのmax_length値は「文字数」であって「文字バイト数」ではないことに注意してください。例えば、全角の「あ」とかは10文字(20バイト分)入ってしまいます。

--- Gtk::Entry#set_max_length(length)
    入力可能な最大文字長を指定します。
    * length - 最大長(文字数)

== 入力できなくする
ユーザからの直接入力を避けたい場合はGtk::Editable#set_editable()をfalseに設定します。この場合はあくまでもユーザからの直接入力(キーボードからとか、カット&ペーストとか)をできなくするだけで、プログラム側からGtk::Entryに対して文字を設定することは可能です。

  require 'gtk'

  entry = Gtk::Entry.new
  entry.set_text("Hello World")
  entry.set_editable(false)

  vbox = VBox.new
  button = Button.new("click!")
  button.signal_connect(BUTTON::CLICKED) do
    entry.set_text("OK.")
  end
  vbox.add(entry)
  vbox.add(button)
  window = Gtk::Window.new
  window.set_usize(100,100)
  window.add(vbox)
  window.show_all
  Gtk.main

--- Gtk::Editable#set_editable(editable)
    テキストウィジェットの入力可否を指定します。
    * editable - trueの場合は入力可能(デフォルト)、falseの場合は入力不可能

== パスワード入力用に使う
入力すると実際は入力されているものの表示上は'****'となるやつです。Gtk::Entry#set_visibility()をfalseに設定します。

  require 'gtk'

  entry = Gtk::Entry.new
  entry.set_text("Hello World")
  entry.set_visibility(false)

  window = Gtk::Window.new
  window.set_usize(100,100)
  window.add(entry)
  window.show_all
  Gtk.main

--- Gtk::Entry#set_visibility(visible)
    パスワード入力用にするかどうかを指定します。
    visible - trueの場合は普通のテキスト(デフォルト)、falseの場合はパスワード入力用になります。

== 文字列を追加する
すでに入力されているテキストボックスに文字列を追加します。追加する方法としては、後ろにくっつける方法と前に挿入する方法があります。

  require 'gtk'

  entry = Gtk::Entry.new
  entry.set_text("Hello")
  entry.append_text(" World")
  entry.prepend_text("Hi! ")

  window = Gtk::Window.new
  window.set_usize(100,100)
  window.add(entry)
  window.show_all
  Gtk.main

--- Gtk::Entry#append_text(text)
    テキストを後ろに追加します。
    * text - 追加する文字列

--- Gtk::Entry#prepend_text(text)
    テキストを先頭に追加します。
    * text - 追加する文字列





ruby-gnome2-cvs メーリングリストの案内
Back to archive index