캔버스(Canvas)는 그림이나 복잡한 레이아웃을 그리기 위해 사용되는 사각형 영역입니다. 캔버스 위에는 그래픽, 텍스트, 위젯 또는 프레임을 자유롭게 배치할 수 있습니다.
Tkinter 캔버스에 호(arc)를 그리려면 캔버스의 create_arc() 메서드를 사용하고, 호가 그려질 좌표값을 인자로 전달하면 됩니다. create_arc() 메서드로는 현(chord), 부채꼴(pieslice), 단순 호(arc) 형태의 도형을 만들 수 있습니다.
구현 단계
필요한 라이브러리를 임포트하고 Tkinter 프레임의 인스턴스를 생성합니다.
root.geometry() 메서드를 사용해 프레임(창)의 크기를 설정합니다.
캔버스 위젯을 생성하고 가로·세로 크기를 지정한 뒤, bg="blue" 옵션으로 배경색을 설정합니다.
create_arc() 메서드로 호를 그립니다. 호의 좌표를 전달하고 extent(호가 차지하는 각도 범위)를 정의합니다. 이 예제에서는 extent=150으로 설정했습니다.
마지막으로 애플리케이션 창의 mainloop()를 실행하여 화면에 표시합니다.
예제 코드
# 필요한 라이브러리 임포트
from tkinter import *
# Tkinter 프레임 인스턴스 생성
root = Tk()
# 창 크기 설정
root.geometry("700x350")
# 배경색이 적용된 캔버스 생성
C = Canvas(root, bg="blue", height=250, width=600)
# 호가 그려질 좌표 지정
coord = 100, 50, 500, 300
# extent=150으로 호 생성
arc = C.create_arc(coord, start=0, extent=150, fill="red")
C.pack(side=TOP, padx=50, pady=50)
root.mainloop()
주요 옵션 살펴보기
create_arc()에서 자주 사용되는 핵심 옵션은 다음과 같습니다.
start: 호가 시작되는 각도입니다. 기본값은 0이며, 3시 방향을 기준으로 시계 반대 방향으로 측정됩니다.
extent: 호가 뻗어 나가는 각도의 크기입니다. 값이 클수록 더 넓은 범위의 호가 그려집니다.
fill: 호의 내부를 채우는 색상을 지정합니다.
style: 도형의 모양을 결정합니다. 기본값인 PIESLICE는 부채꼴, CHORD는 현 형태, ARC는 테두리선만 있는 호를 그립니다.
실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
