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