From: shugo@... (Shugo Maeda) Date: 1998-01-22T02:46:49+09:00 Subject: [ruby-list:5954] Re: How to use TkMenu ? 前田です。 In message "[ruby-list:5953] Re: How to use TkMenu ?" Kikutani Makoto wrote: |$menuBar_file_m = TkMenu.new($menuBar_file) |$menuBar_file = TkMenubutton.new($menuBar, 'text'=>'File', | 'menu'=>$menuBar_file_m, 'underline'=>0) |$menuBar = TkFrame.new ・TkMenu.new($menuBar_file)の時点で$menuBar_fileがnil ・TkMenubutton.new($menuBar,...)の時点で$menuBarがnil の二点がまずいです。 $menuBar = TkFrame.new $menuBar_file = TkMenubutton.new($menuBar, 'text'=>'File', 'underline'=>0) $menuBar_file_m = TkMenu.new($menuBar_file) $menuBar_file.menu($menuBar_file_m) とするとうまく行くと思います。 コンストラクタで'menu'=>$menuBar_file_mとする代りに TkMenubutton#menuを使うのがミソです。 # という話が前にもあったような。 |としてみましたが、どうもうまく動きません。メニューは難しい... 確かにメニューの生成はちょっと面倒ですよね。 menu_spec = [ ["File", ["Open", lambda { openFile }], "---", ["Exit", lambda { exit }]], ["Edit", ["Cut", lambda { cut }], ["Copy", lambda { copy }]] ] menubar = TkMenubar.new(menu_spec) みたいなクラスがあると便利かもしれません。 明日にでもちょっと作ってみようと思います。 # TkCompositeですぐにできるかな。 P.S. Pythonの日本語メーリングリストができるみたいですね。 -- 前田 修吾