Задать вопрос
@Maxim045

Почему на кнопке, созданной с помощью tkinter на Python, не появляется изображение?

Функция create_albums должна перебрать все расположения изображений, которые находятся в базе данных sqlite, создавая кнопки с этими изображениями. Но этого не происходит, кнопки остаются пустыми. Я не понимаю, в чем ошибка?
from tkinter import *
from PIL import ImageTk
import sqlite3

root = Tk()
root.minsize(300,300)

con = sqlite3.connect('tagsdatabase.db')
cur = con.cursor()

def create_albums():
    albums = []

    for album_f in cur.execute('SELECT Cover_Path FROM covers_db'):
        albums.append(album_f[0])

    for album_s in albums:

        image = ImageTk.PhotoImage(file = str(album_s))

        album_button = Button(root,
                              image = image,
                              width = 120, height = 120,
                              command = lambda: print('click'))
        album_button.pack()

create_albums()

root.mainloop()

5e19b29065a12981444385.png
  • Вопрос задан
  • 356 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
SuckMyPython
@SuckMyPython
matrix.polling(none_stop=True)
Добавьте album_button.image = image перед размещением кнопки

***
    for album_s in albums:
        image = ImageTk.PhotoImage(file = str(album_s))
        album_button = Button(root,
                              image = image,
                              width = 120, height = 120,
                              command = lambda: print('click'))
        album_button.image = image
        album_button.pack()
create_albums()
***
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы