宮木です。

Daisuke Sato <densuke / ga2.so-net.ne.jp> wrote:

>|佐藤です。
>|まるで適切ではないのしょうが、質問させてください。
>|
>|ruby/gtk(0.21)でスクリプト書いているのですが、ツリーウィジェットにスクロー
>|ルバーをつける方法がわかりません。
>|
>|ruby.freak.ne.jpのところで、treeのサンプルがありますが、その中でもスクロー
>|ルできませんでした。
>|
>|Gtk::ScrolledWindowがそれっぽい感じがしたけど別物のようです。
>|
>|やはり、gtkがよくわからない人がやるべきではないでしょうか?
>|
>|コードは、testgtk/tree.rbにあった
>|
>|      scrolled_win = Gtk::ScrolledWindow::new(nil, nil)
>|      scrolled_win.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC)
>|...
>|      scrolled_win.set_usize(200, 200)
>|      scrolled_win.show
>|      scrolled_win.add(root_tree)
>|
>|で書いています。ScrolledWindowであってれば、ですが...

Gtk:Treeをお使いでしたらGtk::ScrolledWindow::add_with_view_port
でaddしないと怒られると思いますが。下記のコードでスクロール可能
なTreeが出来ましたが、はずしてます?

require 'gtk'

sw = Gtk::ScrolledWindow.new
sw.set_usize(100,200)
sw.show
sw.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC)

tree = Gtk::Tree.new
tree.show

for i in 0..30
  label = Gtk::Label.new(format("Item%d",i))
  label.show
  item = Gtk::TreeItem.new
  item.show
  item.add(label)
  tree.append(item)
end

sw.add_with_viewport(tree)

win = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL)
win.add sw
win.show

Gtk.main

--
E-mail miyaki / wni.co.jp 宮木 昌広