Как открыть изображение с помощью кнопки, а затем использовать это изображение в качестве изображения кнопки - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть кнопка, которую вы можете нажать, и она откроет диалог открытия файла. Теперь я хочу использовать изображение из диалогового окна кнопки и установить его в качестве изображения кнопки.

from tkinter import *
from tkinter import filedialog
import schematicIO

class GUI():
    def __init__(self, root):
        self.root = root
        root.title("pix2msch")
        root.resizable(False, False)
        root.geometry("600x500")

        photo = PhotoImage(file = "background.png")
        background = Label(root, image = photo)
        background.image = photo
        background.place(x = -2, y = -2)

        self.buttonimage =  PhotoImage(file = "openimagebutton.png")
        self.open_image_b = Button(root, image = self.buttonimage, command=self.open_image, highlightthickness = 0, bd = 0, width = 256, height = 256)

        self.open_image_b.place(x = 27, y = 220)

    def open_image(self):
        root.update()
        self.file = filedialog.askopenfilename()
        self.open_image_b.config(image = PhotoImage(self.file))
        root.update_idletasks()


root = Tk()
GUI(root)
root.mainloop()

Вот как выглядит графический интерфейс

Но вот как это выглядит с открытым изображением

РЕДАКТИРОВАТЬ: размер изображения также должен быть изменен, чтобы соответствовать кнопке, но сохранить его соотношение

...