Tkinter 프레임 인스턴스를 생성하고 창을 실행하면 기본적으로 빈 캔버스가 표시됩니다. 하지만 PhotoImage 메서드와 Canvas 메서드를 활용하면 Tkinter 캔버스 안에 이미지를 배경으로 손쉽게 추가할 수 있습니다.
Tkinter의 이미지 지원은 GIF, PNG, PPM 형식으로 제한되어 있다는 점에 유의해야 합니다. PhotoImage 함수는 이미지 파일의 경로를 인자로 받아, 해당 이미지를 배경으로 하는 캔버스를 화면에 출력합니다.
구현 절차는 다음과 같습니다. 먼저 PhotoImage 함수를 사용하여 PhotoImage 객체를 생성하고, 이를 Label 위젯에 연결한 뒤 place() 메서드로 위젯의 위치를 지정합니다. 특히 master 매개변수에 부모 윈도우를 명시해 주면 이미지 객체가 올바르게 참조됩니다.
예제 코드
from tkinter import *
from PIL import ImageTk
win = Tk()
win.geometry("700x300")
# 이미지 파일 경로를 전달하여 PhotoImage 생성자 정의
img= PhotoImage(file='down.png', master= win)
img_label= Label(win,image=img)
# 이미지의 위치 지정
img_label.place(x=0, y=0)
win.mainloop()실행 결과
위 코드를 실행하면 지정한 이미지가 배경으로 적용된 창이 화면에 나타납니다. 이처럼 PhotoImage 객체를 Label 위젯과 결합하는 방식은 GUI 애플리케이션에 시각적인 배경을 손쉽게 적용할 수 있는 가장 간단한 방법입니다.