Tkinter에서는 이미지를 활용해 버튼을 만들고 자유롭게 커스터마이징할 수 있습니다. 일반적으로 이미지는 Python의 PhotoImage(file) 함수를 통해 불러옵니다.
하지만 PhotoImage()는 PNG, PPM, GIF 등 일부 이미지 형식만 지원한다는 한계가 있습니다. 다행히 Tkinter에서는 별도의 이미지 파일 없이 비트맵(Bitmap) 이미지를 사용해서도 버튼을 만들 수 있습니다.
비트맵 이미지란 행렬 형태로 배치된 점(dot)들의 집합으로, 각각의 점이 이미지의 픽셀을 표현하는 방식입니다. Tkinter에서 기본으로 제공되는 비트맵 속성은 다음과 같습니다.
- error
- gray75
- gray50
- gray25
- gray12
- hourglass
- info
- questhead
- question
- warning
예제 코드
from tkinter import *
# Tkinter 프레임 인스턴스 생성
win = Tk()
win.geometry("700x300")
win.resizable(0,0)
Button(win, relief=RAISED, bitmap="info").pack(pady=10)
Button(win, relief=RAISED, bitmap="gray50").pack(pady=10)
Button(win, relief=RAISED, bitmap="gray25").pack(pady=10)
Button(win, relief=RAISED, bitmap="gray12").pack(pady=10)
Button(win, relief=RAISED, bitmap="questhead").pack(pady=10)
win.mainloop()실행 결과
위 코드를 실행하면 다음과 같이 다양한 비트맵 이미지가 적용된 버튼들이 화면에 나타납니다.
