为什么我的 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,y
和 100,100
。只需使用 bullet = canvas1.create_oval(x-50,y-50, x+50,y+50, fill="red")
或您选择的任何数字,而不是 50。希望对您有所帮助!
我在 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,y
和 100,100
。只需使用 bullet = canvas1.create_oval(x-50,y-50, x+50,y+50, fill="red")
或您选择的任何数字,而不是 50。希望对您有所帮助!