10824


Rubyで1つの画像を表示させ再描画したいです。  
これは画像をただ表示するだけです。これを再描画させたいわけです。

[code]

    require 'tk'
    
    photo = TkPhotoImage.new(file: "ruby.jpg")
    TkLabel.new do
        image photo
        pack
    end
    
    Tk.mainloop
    
[/code]

シンプルなもので結構です。できれば手動で更新するのは避けたいです。  
Tk、GTKなどでもOKです。よろしくお願いします。


CC BY-SA 3.0
2015-05-31T12:00:41.913
10818
2015-05-31T15:28:58.813
9937
question
ruby
GUIで画像を表示させ再描画させたい

[code]

    require 'gtk3'
    
    toplevel = Gtk::Window.new('background')
    toplevel.show
    
    img = Gtk::Image.new('background.jpg')
    toplevel.add img
    img.show
    
    GLib::Timeout.add(1000) do
      img.destroy
      img = Gtk::Image.new('background.jpg')
      toplevel.add img
      img.show
    
      true
    end
    
    Gtk.main
    
[/code]

timeout がなくてもライブラリが勝手に再描画するでしょうが、  
質問は手動での再描画をご要望のように読めたので、無理矢理  
再描画するようにしてみました。


CC BY-SA 3.0
2015-05-31T15:28:58.813
10824
2015-05-31T15:28:58.813
5288
10818
answer