From: Mikio Kanada Date: 2003-04-13T20:57:02+09:00 Subject: [ruby-list:37557] ruby-gtkの使い方について 初めて投稿します。 金田と言います。 ruby-gtkの勉強をしています。 gtkでjpegファイルを表示するプログラムを作成しようと したのですが、ちょっと変な状態になってしまうので お聞きしたいと思います。 1.やりたいこと  複数あるjpgファイルの内1つを/tmp/viewer.jpgにコピーし、  コピーしたファイルを表示しようとするのですが、  /tmp/viewer.jpgには、正しくコピーしているのですが、  最初に表示した画像のまま変りません。  下記プログラムで、#2 の場所です。 2.試したしたこと  jpgファイルを直接表示すると、画像の表示は変る。  下記プログラムで、 #1の場所です。 3.質問  下記プログラムで、関数 imagedsp の部分の処理で、  何が足りないために、#2では、画像表示が変らない  のでしょうか?  バージョンは、ruby 1.6.7、ruby-gtk-0.30-0vl1 どなたか よろしくお願いします。 ------作成したプログラム ------- #! /usr/bin/ruby require "gtk" require "gdk_imlib" COPYFILE = "/tmp/viewer.jpg" class View < Gtk::Window def initialize( mode ) super( mode )    他の処理 @view = Gtk::VBox.new @view.show 他の処理 end def imagedsp @view.remove(@pixmap) if @pixmap != nil if @showmode == 0 then im = GdkImlib::Image.new( @fs.get_filename ) #1.指定したファイルを読み 込む時はうまくいく else cmd = "cp #{@fs.get_filename} /tmp/viewer.jpg" `#{cmd}` #2.指定したファイルを、 # /tmp/viewer.jpgにコピー して, # /tmp/viewer.jpgを表示す ると # 最初と違う画像を読み込 んでも, # 最初に読み込んだ画像の ままになる im = GdkImlib::Image.new( "/tmp/viewer.jpg" ) end im.render(300, 300) pixd, maskd = im.get_pixmap @pixmap = Gtk::Pixmap.new(pixd, maskd) @pixmap.show @view.pack_start(@pixmap, true, true, 0) end end #メインウインドウ作成 window = View.new(Gtk::WINDOW_TOPLEVEL) window.show Gtk.main ------------------------------------- 金田 幹雄 mmmr36211@yahoo.co.jp __________________________________________________ Do You Yahoo!? Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/