Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 14, 2025 21:48:13

Konstantin1984+
Зарегистрирован: 2020-02-04
Сообщения: 87
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с одновременным движением объектов

Есть два объекта, они могут смещаться вниз, для этого сначала выбирается объект, потом указывается точка назначения.
Объекты должны двигаться вне зависимости друг от друга, первый проход объектов относительно нормален, но при повторном выборе объектов и направлении их к точкам назначения система “задумывается”, и лишь через некоторое время они смещаются одним рывком. Прошу пояснить что я делаю не так, и как это исправить.
Код программы:

 from tkinter import*
root=Tk()
root.title ('Проверка')
c = Canvas(width=2250, height=2250,bg='green')
c.pack()
spisok=[]
c.create_polygon(110, 110, 110, 160, 150, 135,tag='треугольник')
c.create_rectangle(180,10,280,80, fill='black',tag='прямоугольник')
def opred(event):
    c=event.widget
    coord_x=c.canvasx(event.x)
    coord_y=c.canvasy(event.y)
    item=c.find_closest(coord_x,coord_y)
    predmet_kortezh=c.gettags(item)
    global predmet
    predmet=' '.join(predmet_kortezh[:-1])
def sdvig(event):
    c=event.widget
    coord_x=c.canvasx(event.x)
    coord_y=c.canvasy(event.y)           
    spisok.append([predmet,coord_x,coord_y])
def sdvig2(event=None):
    for n in range(len(spisok)):
        for elem in spisok[n]:
            if c.bbox(spisok[n][0])[2]<spisok[n][1] and c.bbox(spisok[n][0])[3]<spisok[n][2]:
                c.move(spisok[n][0],1,1)
                c.update()
        c.after(10,sdvig2)        
c.bind("<ButtonPress-1>", opred)
c.bind('<ButtonPress-3>',sdvig)
c.bind('<ButtonRelease-3>',sdvig2)
root.mainloop()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version