как отобразить изображение, сохраненное в sqlite, в окно tkinter - PullRequest
0 голосов
/ 20 июня 2019

это часть, которая добавляет изображение из поля ввода в базу данных

def add_img():
    db=sq.connect('img.db')
    conn=db.cursor()

    with open(str(data.get()),'rb') as f:
        file=f.read()
    with open('yhu.png','wb') as p:
        p.write(f)
    conn.execute(''' INSERT INTO images(name,data)VALUES(?,?)''',(name,file))

    db.commit()
    db.close()

и эта часть должна отображать изображение в окне tkiinter

def display():
db=sq.connect('img.db')
conn=db.cursor()
conn.execute('''SELECT * FROM images''')
row=conn.fetchall()

for i in row:

    it=i[1]
    this= open(str(len(i[1])),'wb')
    this.write(base64string.decode('base64'))
    this.close
    imgd=ImageTk.PhotoImage(this)
    panel=tk.Label(image=imgd,height=28,width=30)
    panel.image = imgd
    panel.grid()


db.close()

1 Ответ

0 голосов
/ 20 июня 2019

Класс PhotoImage и может принимать двоичные данные в качестве параметра без необходимости сохранять их в файл:

imgd = ImageTk.PhotoImage(data=it)

Выше предполагается, что it - это двоичные данные из исходного изображенияфайл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...