728x90

이 강의는 Tkinter GUI 강의 53강입니다
52강에서는
Canvas 위젯의 개념과
좌표 기반 사고 방식을 배웠습니다.
이번 강의에서는
Canvas에 선과 기본 도형을 직접 그리는 방법을 다룹니다.
이번 강의의 목표는 분명합니다.
Canvas의 기본 그리기 메서드를 익히고
좌표로 화면을 구성하는 감각을 잡는 것입니다.
Canvas 그리기의 핵심은 좌표다
Canvas에서
모든 도형은
좌표로 정의됩니다.
- (x1, y1) → 시작점
- (x2, y2) → 끝점 또는 반대쪽 점
좌표를 이해하면
Canvas의 절반은
이미 이해한 것입니다.
선(Line) 그리기
가장 기본적인 그리기는
선(line) 입니다.
canvas.create_line(x1, y1, x2, y2)
이 한 줄로
두 점을 잇는
선을 그릴 수 있습니다.
선 그리기 예제
import tkinter as tk
window = tk.Tk()
window.geometry("320x240")
canvas = tk.Canvas(window, width=300, height=200, bg="white")
canvas.pack(pady=20)
canvas.create_line(20, 20, 280, 20)
window.mainloop()
Canvas 상단에
가로 선이
그려집니다.

선의 색상과 두께 지정하기
canvas.create_line(20, 50, 280, 50, fill="blue", width=3)
- fill → 선 색상
- width → 선 두께
시각적 강조에
아주 중요합니다.

사각형(Rectangle) 그리기
사각형은
대각선 두 점으로
정의합니다.
canvas.create_rectangle(x1, y1, x2, y2)
사각형 그리기 예제
canvas.create_rectangle(50, 80, 250, 160)
이 좌표는
왼쪽 위와
오른쪽 아래를
의미합니다.
왼쪽 위와
오른쪽 아래를
의미합니다.

사각형 색상 채우기
canvas.create_rectangle(
50, 80, 250, 160,
outline="black",
fill="lightgray"
)
- outline → 테두리 색
- fill → 내부 색

원(Oval) 그리기
Canvas에서
원은 oval로 그립니다.
canvas.create_oval(x1, y1, x2, y2)
지정한 사각형 안에
들어가는
타원 또는 원이
그려집니다.
원 그리기 예제
canvas.create_oval(100, 50, 200, 150, fill="skyblue")
좌표 간격이
같으면
완전한 원이 됩니다.

여러 도형을 함께 그려보기
import tkinter as tk
window = tk.Tk()
window.geometry("320x260")
canvas = tk.Canvas(window, width=300, height=220, bg="white")
canvas.pack(pady=10)
canvas.create_line(20, 20, 280, 20, width=2)
canvas.create_rectangle(40, 50, 140, 150, fill="lightgreen")
canvas.create_oval(160, 50, 260, 150, fill="lightblue")
window.mainloop()
Canvas가
작은 그림판처럼
보이기 시작합니다.

도형은 그리는 순서가 중요하다
Canvas는
그리는 순서대로 쌓입니다.
- 먼저 그린 도형 → 아래
- 나중에 그린 도형 → 위
이 순서는
나중에
레이어 개념으로
확장됩니다.
Canvas 그리기의 사고 전환
여기서 중요한 전환점입니다.
- 버튼 중심 사고 X
- 좌표 + 도형 사고 O
Canvas는
“배치”가 아니라
“표현”입니다.
이 단계에서 자주 하는 실수
초보자가
자주 하는 실수는 다음입니다.
- 좌표 기준을 헷갈림
- 도형이 안 보인다고 오류로 생각함
- 색상 지정 누락
대부분은
좌표 문제입니다.
이번 강의 핵심 정리
이번 강의에서 꼭 기억해야 할 내용입니다.
- create_line으로 선을 그린다
- create_rectangle로 사각형을 그린다
- create_oval로 원과 타원을 그린다
- 모든 것은 좌표 기반이다
다음 강의 예고
다음 강의에서는
Canvas에 텍스트와 이미지 그리기를 다룹니다.
이제
Canvas 위에
정보를 표시하기 시작합니다.
728x90
'⚙️ Python > 🪟 Tkinter 기초' 카테고리의 다른 글
| [Tkinter] 55강 Canvas 아이템 ID 개념 이해하기 (0) | 2026.02.17 |
|---|---|
| [Tkinter] 54강 Canvas에 텍스트와 이미지 그리기 (0) | 2026.02.16 |
| [Tkinter] 52강 Canvas 위젯 기본 개념 이해하기 (0) | 2026.02.15 |
| [Tkinter] 51강 파일 저장 다이얼로그 사용하기 (0) | 2026.02.15 |
| [Tkinter] 50강 파일 열기 다이얼로그 사용하기 (0) | 2026.02.14 |