我在 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。希望这有帮助!
关于python - 为什么我的 tkinter 对象不断改变形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58493960/