4
PIL을 사용하여 Tkinter 캔버스에 이미지를 임베드하려고하는데, 어떤 이유로 그것이 보이지 않습니다. 어떤 아이디어?PIL을 사용하여 Tkinter Canvas widget에 이미지 삽입하기
오류나 경고는 없습니다. 그냥 빈 Tk 창.
내 코드 :
import Tkinter
from PIL import ImageTk, Image
class image_manip(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self,parent)
self.ImbImage = Tkinter.Canvas(self)
self.ImbImage.pack()
i = ImageTk.PhotoImage(Image.open('test.png'))
self.ImbImage.create_image(0, 0, image=i)
def run():
image_manip(None).mainloop()
if __name__ == "__main__":
run()
네, 감사했습니다. – rectangletangle
@ 브라이언 오클리 그게 내 정확한 문제 였어. 어떻게 알았어? 이미지가 다음 줄에 참조되어 있어도 왜 그렇게 빨리 가비지 수집됩니까? '자기'는 어떤 차이가 있니? – theJollySin
@theJollySin :'self'의 차이는'i'가 지역 변수라는 것입니다. 그 함수가 끝나면'i'가 가비지 수집 될 수 있습니다. 'self'를 사용하면 객체의 수명에 대한 참조가 존재합니다. –