Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Tkinter 버튼에 이미지 추가하는 방법

Tkinter는 파이썬에서 가장 널리 쓰이는 표준 GUI 라이브러리로, 버튼 위젯에 이미지를 손쉽게 추가할 수 있는 기능을 제공합니다. 텍스트만 있는 버튼보다 아이콘이나 그림이 포함된 버튼이 훨씬 직관적이기 때문에, 사용자가 각 기능을 빠르게 인식하고 기억하는 데 큰 도움이 됩니다.

이 글에서는 Pillow(PIL) 라이브러리의 ImageTk 모듈에 있는 PhotoImage 클래스를 사용해 이미지를 불러오는 방법을 소개합니다. 이미지 파일은 로컬 경로로 지정하면 됩니다.

예제 코드

from tkinter import *
from PIL import ImageTk, Image

base = Tk()
base.title('Start Button')

img = ImageTk.PhotoImage(Image.open('D:/button.jpg'))
lab = Label(image=img)
lab.pack()

button = Button(base, text='exit', command=base.quit)
button.pack()
base.mainloop()

실행 결과

위 코드를 실행하면 지정한 경로의 이미지가 창 상단에 표시되고, 그 아래에 'exit' 버튼이 함께 나타납니다.

Python Tkinter 버튼에 이미지 추가하는 방법

응용: 버튼 자체에 이미지 넣기

위 예제에서는 Label 위젯으로 이미지를 화면에 출력했지만, 같은 PhotoImage 객체를 Button 위젯의 image 옵션에 전달하면 버튼 자체에 이미지를 표시할 수도 있습니다.

button = Button(base, image=img, command=base.quit)
button.pack()

이미지와 텍스트를 동시에 표시하고 싶다면 compound 옵션을 활용하세요. 예를 들어 compound='top'으로 지정하면 이미지가 텍스트 위쪽에 배치됩니다.