07

22

[Ruby] Ruby/Tk、拡張Tkをインストールする方法 (2012年7月現在)

2012.07.22(21:53)

Ruby/Tkを知らない人が、とりあえずこうすると入る、という一例を示す。
Rubyは1.9.3。
  1. Ruby Installer for Windows
    http://rubyinstaller.org/downloads/
    から、 rubyinstaller-1.9.3-p194.exe をダウンロードし、インストール時に、
    ■ Install Tck/Tk support をチェックしてインストールする。
    以後、D:\Ruby193にインストールする場合で説明する。
  2. 逆引きRuby/Tk
    http://pub.cozmixng.org/~the-rwiki/?cmd=view;name=%B5%D5%B0%FA%A4%ADRuby%2FTk
    イメージを描画する
    を参考に、pngとjpegを表示させるプログラムを書く。これは拡張Tkがないと動かないので動作確認用になる
  3. require "tk"
    require "tkextlib/tkimg/png"
    require "tkextlib/tkimg/jpeg"
    
    TkRoot.new{ |r|
        TkLabel.new(r) {
            image TkPhotoImage.new("file" => "ruby.png")
            pack
        }
        TkLabel.new(r) {
            image TkPhotoImage.new("file" => "ruby.jpg")
            pack
        }
    }
    Tk.mainloop
    
  4. これを実行すると、
    d:/Ruby193/lib/ruby/1.9.1/tk/package.rb:86:in `rescue in require': TkPackage can 't find package img::png (RuntimeError)
    というエラーが出る。拡張Tkがはいっていないとこうなる。
  5. 次に、
    Rubyのダイナミックライブラリが置かれている場所
    D:\Ruby193\lib\ruby\1.9.1\i386-mingw32\tcltklib.so

    D:\Ruby193\lib\ruby\1.9.1\i386-mingw32\tcltklib.so.old
    に改名し、
  6. Ruby/Tk-Kit
    http://www.dumbo.ai.kyutech.ac.jp/~nagai/RubyTk/?Ruby%2FTk-Kit
    より
    RubyInstaller 1.9.1p378rc2 用に作成 (tested on Windows XP):  
      include some Tcl/Tk extensions : tcltklib.so-w-exts-20100523-ruby191-mingw-for-RubyInstaller191
    をダウンロードし、ファイルの名前を tcltklib.so に変更し,
    Rubyのダイナミックライブラリが置かれている場所
    さきほどの D:\Ruby193\lib\ruby\1.9.1\i386-mingw32 にコピーする
  7. さきほどのプログラムを実行すると、png,jpegが表示できるようになった。


プロフィール

島敏博

Shima Toshihiro 島敏博
信州アルプスハイランド在住。HaskellとElixirが好き。組み込みソフトウェアアーキテクト、C++プログラマ、山歩き、美術館巡り、和食食べ歩き、日本赤十字社救急法指導員、インデックス投資、クラシック音楽、SESSAME会員、状態マシン設計、モデル駆動開発、ソフトウェアプロダクトライン、Rubyist、実践ビジネス英語

■ ツイッター
http://twitter.com/saltheads
■ Facebook
http://www.facebook.com/saltheads
■ Qiita
http://qiita.com/saltheads

印刷する場合は、ブラウザの印刷メニューではなく、このページの上から3cmくらいの青いところにある、「印刷」を押してみてください。少しうまく印刷できます。まだ完全ではないのですが、これで勘弁してください。


カテゴリ
最新記事
月別アーカイブ
最新コメント
検索フォーム
リンク
sessame
RSSリンクの表示