GTK+ で簡単なテキスト入力(Ruby)
Gtk::TextView を使う。
require 'bundler/setup' require 'gtk2' def text_window w = Gtk::Window.new w.signal_connect("destroy") {Gtk.main_quit} w.set_size_request(300, 200) w.title = "TextView" t = Gtk::TextView.new w.add(t) b = t.buffer w.show_all Gtk.main b.text end p text_window
ウィンドウを消滅させると、テキスト文字列を出力する。
"Ruby GTK+\n\ntext edit"
※参考
Gtk::TextView - Ruby-GNOME2 Project Website
Gtk::TextBuffer - Ruby-GNOME2 Project Website
ついでにスクロールするテキスト表示ウィンドウ
Gtk::ScrolledWindow と Gtk::TextView を使う。
require 'bundler/setup' require 'gtk2' def scroll_window(text) w = Gtk::Window.new w.signal_connect("destroy") {Gtk.main_quit} w.set_size_request(500, 200) w.title = "Scroll Window" sw = Gtk::ScrolledWindow.new sw.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC) t = Gtk::TextView.new sw.add(t) w.add(sw) b = t.buffer b.insert_at_cursor(text) w.show_all Gtk.main end scroll_window(`cat a1.rb`)
これ、表示するだけで書き込み不可にできないのかな。
※参考
Gtk::ScrolledWindow - Ruby-GNOME2 Project Website
Rubyで外部コマンドの出力をGtk::TextViewに表示 - 自称スーパーハッカーの適当なプログラミング雑記等