From: Albert Schlef <albertschlef / gmail.com> Subject: Re: A Tk window Date: Wed, 4 Feb 2009 22:40:16 +0900 Message-ID: <8e4169fd337e5c6f2f00f947a74c508b / ruby-forum.com> > dead-end. (It has an ingeniously simple API, I admit, but the facts that > I struggled yesterday to fetch the selcted item from a TkListbox, and > even more to add scrollbars, Hmm... I think that it not so difficult. Possibly, Ruby/Tk is easier than Tcl/Tk. ------------------------------------------------------------------- require 'tk' f = TkFrame.new.pack(:expand=>true, :fill=>:both) lbox = TkListbox.new(f) lbox.yscrollbar(TkScrollbar.new(f).pack(:side=>:right, :fill=>:y)) lbox.pack(:side=>:right, :expand=>true, :fill=>:both) lbox.bind('<ListboxSelect>', :widget){|w| # :widget equal to "%W" (see Tcl/Tk's "bind" manual). # current Ruby/Tk supports accessor-names of Tk::Event object instead of # "%" substitutions. p [w.curselection, w.get(w.curselection[0])] } lbox.value = %w(a b c foo bar baz hoge fuga zzz asdf qwer zxcv) lbox.focus Tk.mainloop ------------------------------------------------------------------- > and that the fonts are so ugly and > unreadable, show that Tk has been dormant for at least 15 years.) Well, I recommend you to use Tcl/Tk8.5 for your Ruby/Tk. Tcl/Tk8.5 supports anti-aliased fonts on X window systems, and includes Tile (Ttk) extension (widget styling engine) as default. -- Hidetoshi NAGAI (nagai / ai.kyutech.ac.jp)