파이썬의 Tkinter는 GUI 프로그래밍을 위한 대표적인 표준 라이브러리로, 캔버스 위에 버튼을 생성하는 다양한 방법을 제공합니다. 이 글에서는 기본 tkinter 모듈을 사용해 버튼을 만드는 방법과, 테마가 적용된 tkinter.ttk 모듈을 활용하는 방법을 예제 코드와 함께 살펴보겠습니다.
1. 기본 tkinter 모듈로 버튼 만들기
아래 예제에서는 먼저 캔버스(윈도우)를 생성한 후, Button 메서드를 적용해 버튼을 만듭니다. from tkinter import * 구문으로 모듈 전체를 임포트했기 때문에, 생성한 버튼에는 기본 테마 스타일이 적용됩니다.
예제 코드
# tkinter 모듈의 모든 요소를 임포트합니다
from tkinter import *
# 캔버스(윈도우)를 생성합니다
canv = Tk()
# 윈도우 크기를 설정합니다
canv.geometry('200x150')
# 버튼을 생성합니다
btn = Button(canv, text='Welcome to Tkinter!', bd='5',
command=canv.destroy)
# 버튼의 위치를 설정합니다
btn.pack(side='top')
canv.mainloop()실행 결과
위 코드를 실행하면 다음과 같은 결과를 확인할 수 있습니다.

2. tkinter.ttk 모듈로 버튼 만들기
이번에는 동일한 과정에 tkinter.ttk 모듈을 추가로 임포트하여 진행해 보겠습니다. ttk 모듈은 기본 tkinter와 달리 테두리(bd) 옵션은 지원하지 않지만, 마우스 커서를 버튼 위에 올리면 연한 파란색 하이라이트가 표시되는 등 더 세련되고 현대적인 테마 스타일을 제공한다는 장점이 있습니다.
예제 코드
# tkinter 모듈의 모든 요소를 임포트합니다
from tkinter import *
from tkinter.ttk import *
# 캔버스(윈도우)를 생성합니다
canv = Tk()
# 윈도우 크기를 설정합니다
canv.geometry('200x150')
# 버튼을 생성합니다
btn = Button(canv, text='Welcome to Tkinter!',
command=canv.destroy)
# 버튼의 위치를 설정합니다
btn.pack(side='top')
canv.mainloop()실행 결과
위 코드를 실행하면 다음과 같은 결과를 확인할 수 있습니다.

정리
기본 tkinter 모듈은 bd(테두리) 옵션을 통해 버튼의 외곽선 두께를 자유롭게 조절할 수 있고, tkinter.ttk 모듈은 운영체제 네이티브 스타일에 가까운 모던한 디자인과 마우스 오버 시 하이라이트 효과를 제공합니다. 프로젝트의 디자인 요구 사항에 따라 두 방식 중 적합한 것을 선택해 사용하면 됩니다.