Помогите подвязать бд к id прямоугольника, его id == int

Это часть проекта. Суть заключается в том, что при нажатии на картинку происходит ее отклик, а при движении колесика она меняет координаты по y(Формула работает не правильно). Плюс при повторном запуске старые картинки остаются и взаимодействуют. Вместо картинки подставьте любой не большой прямоугольник

from tkinter import *
import sqlite3
count = 0
conn = sqlite3.connect('БД_картинок_и_текста.db')
cur = conn.cursor()
cur.execute("""CREATE TABLE IF NOT EXISTS users(
   kartinka TEXT,
   tekst TEXT);
""")
conn.commit()

class MainWindow(Tk):
    def __init__(self):
        super().__init__()
        self.list_a = []

        self.canvas = Canvas(self)
        self.canvas.pack()
        button = Button(self, text="Создать прямоугольник", command=self.new_rectangle)
        button.pack()

        self.rect_counter = 0
        self.rect_y = 0
        self.knop1 = PhotoImage(file="картинка.png")

    def new_rectangle(self):#
        rectangle_id = self.canvas.create_image(10, 10 + self.rect_y, image=self.knop1)
        text_id = self.canvas.create_text(10, 10 + self.rect_y, text='jgjfdigf')
        self.rect_counter += 1#

        self.canvas.tag_bind(rectangle_id, '<Button-1>', lambda event, rect_number=self.rect_counter: self.on_hover(event, rect_number))
        self.canvas.tag_bind(text_id, '<Button-1>', lambda event, rect_number=self.rect_counter: self.on_hover(event, rect_number))
        self.rect_y += 70

        self.canvas.bind('<MouseWheel>', self.on_hover2)
        self.canvas.bind('<MouseWheel>', self.on_hover2)

        self.list_a.append([rectangle_id, text_id])

        print(self.list_a[0][0])

    def on_hover2(self, event):
        global count
        if event.num == 5 or event.delta == -120:
            count -= 6
        if event.num == 4 or event.delta == 120:
            count += 6
        for i in range(self.rect_counter):
            self.canvas.delete(self.list_a[i][0])
            self.canvas.delete(self.list_a[i][1])
            self.list_a.pop(i)
            self.rect_y = 70
            rectangle_id = self.canvas.create_image(10, count+self.rect_y*i, image=self.knop1)
            text_id = self.canvas.create_text(10, 10+count+self.rect_y*i, text='jgjfdigf')
            self.list_a.append([rectangle_id, text_id])

    def on_hover(self, event, rect_number):
        print("Мышь над прямоугольником", rect_number)


if __name__ == "__main__":
    root = MainWindow()
    root.mainloop()

Ответы (0 шт):