Почему мой объект tkinter постоянно меняет форму? - PullRequest
1 голос
/ 21 октября 2019

Я создал изображение на холсте в tkinter, которое отвечает на событие кнопки. И объект создается в позиции 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)

Это просто рисует овалы, которые имеют произвольную форму. Почему это происходит и как это исправить?

1 Ответ

0 голосов
/ 22 октября 2019

Вы должны создать свой холст только один раз, но это не проблема. Проблема в том, что tkinter пытается создать овал внутри прямоугольника. Вы указали 2 точки прямоугольника: x,y и 100,100. Просто используйте bullet = canvas1.create_oval(x-50,y-50, x+50,y+50, fill="red") или любой другой номер, который вы выбрали вместо 50. Надеюсь, это полезно!

...