2017-05-08 5 views
0
私は以下のページからのガイダンスを使用してGIFをアニメーション化するのTkinterを使用してい

アニメーション化に失敗: Tkinter animation will not workTkinterのGIF

は、しかし、私は提案を動作させることはできませんが。それはちょうど私がいくつかの方法を試してみたが、私は同じ結果を得続けるframesで最後の画像を表示するしかし今、私はこの

import tkinter as tk 
root = tk.Tk() 
frames = [tk.PhotoImage(file = '/home/quantik/Pictures/dice.gif',format="gif -index %i" %(i)) for i in range(5)] 
def animate(n): 
    if (n < len(frames)): 
     label.configure(image=frames[n]) 
     n+=1 
     root.after(300, animate(n)) 

label = tk.Label(root) 
label.pack() 
root.after(0, animate(0)) 
root.mainloop() 

のようなものを持っています。なぜ誰かがこれが起こっているかもしれないという提案はありますか?

答えて

2

このコード:何が起こっているか

result = animate(n) 
root.after(300, result) 

お知らせ:

root.after(300, animate(n)) 

は、まさにこのコードと同じですか?関数を呼びたくない場合は、afterに後で呼び出すようにしたいとします。あなたはこのようにそれを行う:300ミリ秒後animate関数を呼び出すと、関数の引数としてnの値を渡すためにroot.afterを伝え

root.after(300, animate, n) 

+0

これは機能します! '300'ミリ秒待ってから' animate(args) 'を呼び出すと思った' after'文書を完全に理解していないと思います。ありがとう! – quantik