tkを使って画像をランダムに切り替えようと思っています。以下コードのようにdrawメソッドを作成し、ループをまわそうとしていますが、最初の画像は問題なく表示されるものの最初の画像を×ボタンクリックで閉じると、次の画像が出る前にエラーがでます。エラーを解消する方法をご指南ください。なお、rubyそのもののコードでエラーが出ているわけではないので、Rubyタグをつけるのはおかしいかと思いましたが、よろしくお願いします。
【本体のコード】
require 'tk'
def draw(num)
image = TkPhotoImage.new(file: "./image/#{num}.gif")
TkLabel.new(image: image).pack
Tk.mainloop
end
6.times {draw(rand(1..6))}
【エラー】
G:/Ruby23/lib/ruby/2.3.0/tk.rb:2059:in `_invoke': can't invoke "image" command: application has been destroyed (RuntimeError)
あなたの回答
tips
プレビュー