TkinterCanvasでボールを動かす
Tkinterは、GUIベースのアプリケーションを作成するために使用される標準のPythonライブラリです。簡単な動くボールアプリケーションを作成するために、ユーザーが画像を追加したり、図形を描いたり、オブジェクトをアニメーション化したりできるCanvasウィジェットを使用できます。アプリケーションには次のコンポーネントがあります
-
ウィンドウに楕円形またはボールを描画するためのCanvasウィジェット。
-
ボールを移動するには、関数 move_ball()を定義する必要があります 。この関数では、ボールがキャンバスの壁に当たったときに常に更新されるボールの位置を定義する必要があります(左、右、上、下)。
-
ボールの位置を更新するには、 canvas.after(duration、function())を使用する必要があります これは、ボールが一定時間後に位置を変えるように反射します。
-
最後に、コードを実行してアプリケーションを実行します。
例
# Import the required libraries from tkinter import * # Create an instance of tkinter frame or window win=Tk() # Set the size of the window win.geometry("700x350") # Make the window size fixed win.resizable(False,False) # Create a canvas widget canvas=Canvas(win, width=700, height=350) canvas.pack() # Create an oval or ball in the canvas widget ball=canvas.create_oval(10,10,50,50, fill="green3") # Move the ball xspeed=yspeed=3 def move_ball(): global xspeed, yspeed canvas.move(ball, xspeed, yspeed) (leftpos, toppos, rightpos, bottompos)=canvas.coords(ball) if leftpos <=0 or rightpos>=700: xspeed=-xspeed if toppos <=0 or bottompos >=350: yspeed=-yspeed canvas.after(30,move_ball) canvas.after(30, move_ball) win.mainloop()
出力
上記のコードを実行すると、キャンバスに可動ボールがあるアプリケーションウィンドウが表示されます。
-
Tkinter Canvasをクリアする方法は?
Tkinterは、ウィンドウにキャンバスを追加する方法を提供します。キャンバスを作成すると、メモリ内のストレージがラップされます。 tkinterでキャンバスを作成している間、クリアまたは削除する必要のあるメモリを効果的に消費します。 キャンバスをクリアするには、 delete()を使用できます 方法。 「all」を指定することで、tkinterフレームに存在するすべてのキャンバスを削除してクリアできます。 例 #Import the tkinter library from tkinter import * #Create an instance of tkinter frame win
-
キャンバスで画像を中央に配置する方法PythonTkinter
Tkinterを使用してGUIベースのアプリケーションを作成していて、Tkinterキャンバスに画像をロードしたいとします。 デフォルトでは、キャンバスはその幅と高さに応じて画像をロードしますが、「方向」を渡すことで、画像の位置を任意の方向(N、S、E、W、NS、EWなど)に操作できます。アンカーパラメータの値。アンカーは、画像関数とともに呼び出されるパラメータです。キャンバス内の画像の方向または位置を定義します。 アンカーパラメータを使用することで、テキストと画像を任意の方向に揃えることができます。今のところ、ラベルを使用して画像ラベルを作成します そのような機能、 Label(root