« アコギなのかリッパなのか | トップページ | メモ:十和田市現代美術館 »

テケテケな日々(Ruby/tkメモの4)

 いずれも逆引き Ruby/tk からをベースに、部分的に Tk マニュアルを参照して。

■ファイルオープンダイアログを使う

require 'tk'
b_fopen = TkButton.new('text' => 'ファイル').pack
b_fopen.command proc {
      filepath = Tk.getOpenFile
      p filepath
}
Tk.mainloop

 Tk.getOpenFile を使うと標準のファイルオープンダイアログが開くらしい。
 同様にして保存ダイアログを使うには、getSaveFile があるようだ。


■リストボックス

require 'tk'
LIST = ['red', 'blue', 'black']
lst = TkListbox.new {
#      selectmode 'browse'
      pack
}
lst.insert 0, *LIST
lst.bind '<ListboxSelect>', proc {
      p lst.get(lst.curselection)
}
Tk.mainloop

selectmode
 single, browse, multiple, extended
 ひとつを選択するのは、single か browse モード。複数選択は、multiple か extended モード。基本的には browse か extended を利用するのがよいようだ。デフォルトは browse ということなので、ひとつを選択するのであれば指定しなくてもよい。

 insert で実際にリストボックスに表示する文字列を取り込む。
 bind はイベント処理で、'<ListboxSelect>' でリストボックスの項目を選択したときの処理が定義されているものらしい。実際の値は proc 以下のようにして取得。

|
|

« アコギなのかリッパなのか | トップページ | メモ:十和田市現代美術館 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/28835/46044285

この記事へのトラックバック一覧です: テケテケな日々(Ruby/tkメモの4):

« アコギなのかリッパなのか | トップページ | メモ:十和田市現代美術館 »