Я пытался заставить это работать, но пока безуспешно. Я упростил код только до соответствующих частей. Я могу отобразить кнопку изображения в основном классе, но внутри функции я не могу заставить кнопку правильно отображаться. Я понимаю концепцию сбора мусора, поэтому попробовал ничего не использовать, «я». и «new_window» в качестве префикса, а также несколько их комбинаций, но безуспешно. Что я делаю не так?
from tkinter import *
class tkinterApp(Tk):
def __init__(self, *args, **kwargs):
Tk.__init__(self, *args, **kwargs)
def some_other_function():
pass
def open_new_window():
new_window = Tk()
new_window.image = PhotoImage(file='image.png')
btn2 = Button(new_window, image=new_window.image, command=some_other_function)
btn2.pack()
self.image = PhotoImage(file='image.png')
btn1 = Button(self, image=self.image, command=open_new_window)
btn1.pack()
tkinterApp().mainloop()
Подробнее здесь: https://stackoverflow.com/questions/783 ... ing-python