为什么我的 tkinter 对象不断改变形状?

Why does my tkinter object keep changing shape?

我在 tkinter 中的 canvas 上创建了一个图像来响应按钮事件。并且,该对象是在该事件发生的位置 x 和位置 y 上创建的。但是物体不断改变形状。

def leftclick(event):

        canvas1=Canvas(play, height=hei, width=wid)
        canvas1.grid(row=0, column=0, sticky=W)
        canvas1.delete("all")


        x=event.x
        y=event.y
        print(event.x, event.y)



        bullet = canvas1.create_oval(x,y, 100,100, fill="red")
        xspeed=random.randint(0, 50)
        yspeed=random.randint(0,50)

这只是绘制随机形状的椭圆。 为什么会发生这种情况,我该如何解决?

您应该只创建一次 canvas,但这不是问题。 问题是 tkinter 试图在矩形内创建一个椭圆。您已经指定了矩形的 2 个点:x,y100,100。只需使用 bullet = canvas1.create_oval(x-50,y-50, x+50,y+50, fill="red") 或您选择的任何数字,而不是 50。希望对您有所帮助!