在 Tkinter Canvas 中移动球
tkinterpythongui-programming更新于 2025/7/18 23:08:17
Tkinter 是一个标准 Python 库,用于创建基于 GUI 的应用程序。要创建一个简单的移动球应用程序,我们可以使用 Canvas 小部件,它允许用户添加图像、绘制形状和动画对象。该应用程序具有以下组件,
一个 Canvas 小部件,用于在窗口中绘制椭圆或球。
要移动球,我们必须定义一个函数 move_ball()。在函数中,您必须定义球的位置,当球击中画布墙壁(左、右、上、下)时,该位置将不断更新。
要更新球的位置,我们必须使用 canvas.after(duration, function()),它反映了球在一定时间后改变其位置的情况。
最后,执行代码以运行应用程序。
示例
# 导入所需的库
from tkinter import *
# 创建 tkinter 框架或窗口的实例
win=Tk()
# 设置窗口的大小
win.geometry("700x350")
# 使窗口大小固定
win.resizable(False,False)
# 创建画布小部件
canvas=Canvas(win, width=700, height=350)
canvas.pack()
# 在画布小部件中创建一个椭圆或球
ball=canvas.create_oval(10,10,50,50, fill="green3")
# 移动球
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
如果 toppos <=0 或 bottompos >=350:
yspeed=-yspeed
canvas.after(30,move_ball)
canvas.after(30, move_ball)
win.mainloop()
输出
运行上述代码将显示一个应用程序窗口,其中画布上有一个可移动的球。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

