2016-04-30 7 views
0

私はいくつかのパックされたフレームを持つtkウィンドウを持っており、新しいパネルをウィンドウのボトムから上にスライドさせたい(画面から出るときに逆の動きをする)。これは私がこのパネルは、意図した位置に静的に表示するために使用していたコードである(そのウィンドウの下部に梱包されてself.statusframeに対する相対的な位置に配置された):Python 3(tkinter)ではフレームをアニメーション化できますか?

self.bottomframe.place(in_=self.statusframe, relx=1, y=0, anchor="se", relwidth=1, bordermode="outside") 
self.bottomframe.lift() 

アニメーション化する簡単な方法があります意図した位置に滑りそうに見えるように配置されたフレームフレーム?

+0

tkinterアニメーションの標準パターン( 'after'を使用)を使用して、各繰り返しで' place'を使って座標を変更することができます。 –

+0

これはどういう意味ですか? (in-self.statusframe、relx = 1、y = y、アンカー= "se"、relwidth = 1、bordermode = "外側") self.bottomframe.after(100) ' –

+0

私はそれを得ると思う。範囲を「範囲(-9,1,3)」に調整し、「y = y」を「y = -y」に変更して、いくつかの経験をしました。今度は所望の方向から所望の位置に来る。しかし、私はそれがどのように機能するかを理解することができなかったので、「アフター」を使用しませんでした。アニメーションは画面上にのみ現れました。私は 'for'ループに' .update() 'を追加しました。しかし、少なくとも私のシステムでは非常に遅いので、アニメーションをほんの数フレームに減らしました。それを描画してより速くアニメーション化する方法はありますか? –

答えて

0

Bryan Oakleyのコメントを読んでもう少し掘り下げた後、この質問を読んでいる人に役立つかもしれないアップデートを投稿するだけで、このコードを使用して終了しました。

for y in range(-10,1,2): 
    self.bottomframe.update() 
    self.bottomframe.place(in_=self.statusframe, relx=1, y=y**2, anchor="se", relwidth=1, bordermode="outside") 
関連する問題