[파이썬] `tkinter`로 그림판 애플리케이션 만들기

그림을 그릴 수 있는 그림판 애플리케이션은 많은 사람들에게 흥미로운 프로젝트입니다. 이번 기회에 tkinter를 사용하여 간단한 그림판 애플리케이션을 만들어 보겠습니다.

준비하기

Python에서 tkinter를 사용하려면 해당 모듈을 설치해야 합니다. 다음 명령어를 사용하여 tkinter를 설치합니다:

pip install tkinter

애플리케이션 설계

간단한 그림판 애플리케이션을 위해 몇 가지 기능을 구현할 것입니다:

  1. 그리기 도구 선택 (펜, 도장, 지우개 등)
  2. 그리기 색상 선택
  3. 그리기 크기 조절
  4. 그리기 영역 지정

코드 작성

이제 tkinter를 사용하여 그림판 애플리케이션을 구현해보겠습니다. 아래는 이 애플리케이션의 예시 코드입니다:

import tkinter as tk

class DrawingApp:
    def __init__(self, root):
        self.root = root

        # 그리기 영역 생성
        self.canvas = tk.Canvas(root, width=500, height=500, bg='white')
        self.canvas.pack()

        # 펜 도구 초기화
        self.tool = 'pen'

        # 그리기 색상 초기화
        self.color = 'black'

        # 그리기 크기 초기화
        self.size = 2

        # 이벤트 바인딩
        self.canvas.bind('<B1-Motion>', self.draw)

    def draw(self, event):
        x, y = event.x, event.y
        if self.tool == 'pen':
            self.canvas.create_oval(x - self.size, y - self.size, x + self.size, y + self.size, fill=self.color)
        elif self.tool == 'brush':
            self.canvas.create_rectangle(x - self.size, y - self.size, x + self.size, y + self.size, fill=self.color)
        elif self.tool == 'eraser':
            self.canvas.create_rectangle(x - self.size, y - self.size, x + self.size, y + self.size, fill='white')

    def select_tool(self, tool):
        self.tool = tool

    def select_color(self, color):
        self.color = color

    def select_size(self, size):
        self.size = size

root = tk.Tk()
app = DrawingApp(root)
root.mainloop()

실행하기

위의 코드를 paint_app.py라는 파일에 저장하고, 터미널에서 다음 명령어를 실행하여 애플리케이션을 실행할 수 있습니다:

python paint_app.py

그리고 나서 그림판에 마우스로 그림을 그려보세요! 펜, 도장, 지우개 등의 도구를 선택하고, 그리기 색상과 크기를 조절하여 다양한 그림을 그릴 수 있습니다.

결론

tkinter를 사용하여 그림판 애플리케이션을 만드는 방법을 알아보았습니다. 이를 기반으로 코드를 개선하고 추가 기능을 구현하여 보다 더 풍부한 그림판을 만들어볼 수 있습니다. 색상 선택기, 저장/로드 기능, 도형 그리기 등을 추가해보세요. 새로운 프로젝트에서 tkinter를 활용하여 다른 유용한 애플리케이션도 개발해보는 것을 권장합니다.