[python] Tkinter 캔버스 위젯

Tkinter는 Python에서 GUI 프로그래밍을 할 수 있는 표준 라이브러리입니다. Tkinter를 사용하면 다양한 위젯들을 만들고 조작할 수 있습니다. 이 중에서 캔버스 위젯은 그림을 그리고 다양한 도형을 그릴 수 있는 기능을 제공합니다.

캔버스 위젯 생성하기

캔버스 위젯을 생성하기 위해서는 Canvas 클래스를 사용합니다. 다음은 간단한 예제 코드입니다.

import tkinter as tk

# 캔버스 위젯 생성
canvas = tk.Canvas(root, width=500, height=500)

# 캔버스 위젯 배치
canvas.pack()

# 윈도우 이벤트 루프 실행
root.mainloop()

위 코드에서 Canvas 클래스의 객체를 생성하고, pack() 메서드를 호출하여 윈도우에 캔버스 위젯을 배치합니다. 마지막으로 mainloop() 메서드를 호출하여 윈도우 이벤트 루프를 실행합니다.

도형 그리기

캔버스 위에 도형을 그리기 위해서는 create_*() 메서드들을 사용합니다. 각 메서드는 해당 도형을 그리기 위한 필요한 인자들을 받습니다. 예를 들어, create_line() 메서드는 선을 그리는데 사용되며, create_rectangle() 메서드는 사각형을 그리는데 사용됩니다.

# 선 그리기
line = canvas.create_line(10, 10, 100, 100)

# 사각형 그리기
rectangle = canvas.create_rectangle(50, 50, 150, 150)

위 코드에서 create_line() 메서드를 사용하여 (10, 10)에서 (100, 100)까지 선을 그리고, create_rectangle() 메서드를 사용하여 (50, 50)과 (150, 150) 좌표의 사각형을 그립니다. create_*() 메서드를 호출하면 해당 도형의 식별자를 반환합니다.

도형 속성 변경

그리고 난 후 생성한 도형의 속성을 변경하려면 itemconfig() 메서드를 사용합니다. 이 메서드는 도형의 식별자와 변경할 속성과 값을 인자로 받습니다.

# 선 색상 변경
canvas.itemconfig(line, fill="red")

# 사각형 외곽선 두께 변경
canvas.itemconfig(rectangle, outline=2)

위 코드에서 itemconfig() 메서드를 사용하여 linerectangle의 속성을 변경합니다. 선의 색상을 빨간색으로 변경하고, 사각형의 외곽선 두께를 2로 변경합니다.

참고 자료