
이 강의는 Tkinter GUI 강의 58강입니다
57강에서는
Canvas 아이템을
delete()로 제거하는 방법을 배웠습니다.
이번 강의에서는
Canvas 아이템의 모양과 내용을
실시간으로 바꾸는 방법,
itemconfig()를 다룹니다.
이번 강의의 목표는 분명합니다.
Canvas 아이템을
그려진 뒤에도 자유롭게 수정하는 감각을 익히는 것입니다.
Canvas 아이템은 “고정”이 아니다
Canvas에서 그린 도형과 텍스트는
한 번 만들고 끝이 아닙니다.
다음과 같은 변경이 가능합니다.
- 색상 변경
- 두께 변경
- 텍스트 내용 변경
- 폰트 변경
이 모든 작업을
itemconfig로 처리합니다.
itemconfig 기본 형태
canvas.itemconfig(item_id, 옵션=값)
또는
canvas.itemconfigure(item_id, 옵션=값)
두 이름은
동일하게 동작합니다.
색상 변경 예제
import tkinter as tk
window = tk.Tk()
window.geometry("320x240")
canvas = tk.Canvas(window, width=300, height=200, bg="white")
canvas.pack(pady=20)
box = canvas.create_rectangle(80, 60, 160, 140, fill="skyblue")
canvas.itemconfig(box, fill="orange")
window.mainloop()
사각형의
색상이
바뀐 상태로
표시됩니다.

버튼으로 색상 변경하기
import tkinter as tk
window = tk.Tk()
window.geometry("320x240")
canvas = tk.Canvas(window, width=300, height=200, bg="white")
canvas.pack()
box = canvas.create_rectangle(80, 60, 160, 140, fill="green")
def change_color():
canvas.itemconfig(box, fill="red")
tk.Button(window, text="색상 변경", command=change_color).pack(pady=10)
window.mainloop()
이제
Canvas 아이템은
이벤트에 반응합니다.


선 두께와 색상 변경
선(Line) 아이템도
속성 변경이 가능합니다.
line = canvas.create_line(20, 20, 280, 20, width=2)
canvas.itemconfig(line, fill="blue", width=5)
- fill → 선 색상
- width → 선 두께
텍스트 내용 변경하기
Canvas 텍스트는
내용 자체를
바꿀 수 있습니다.
text_id = canvas.create_text(150, 100, text="처음 텍스트")
canvas.itemconfig(text_id, text="변경된 텍스트")
이 패턴은
상태 표시, 점수 표시 등에서
자주 사용됩니다.
폰트와 정렬도 변경 가능하다
canvas.itemconfig(
text_id,
font=("Arial", 16, "bold"),
fill="blue"
)
Canvas 텍스트는
Label과 거의 동일한
옵션을 사용합니다.
여러 속성을 한 번에 변경하기
canvas.itemconfig(
box,
fill="yellow",
outline="black",
width=3
)
UI 반응을
명확하게 표현할 때
자주 쓰입니다.
itemconfig는 “ID 기반 제어”다
중요한 포인트입니다.
itemconfig는 반드시 아이템 ID가 필요합니다.
ID가 없다면
어떤 객체를
바꿀지 알 수 없습니다.
그래서
55강의 ID 개념이
여기서 다시 중요해집니다.
상태 변화 표현에 itemconfig 사용하기
Canvas에서는
상태를 “색”으로 표현하는 경우가 많습니다.
def select():
canvas.itemconfig(box, fill="orange")
def deselect():
canvas.itemconfig(box, fill="gray")
선택 / 비선택
표현의 기초입니다.
초보자가 자주 하는 실수
다음 실수는
자주 발생합니다.
- itemconfig와 itemconfigure를 다른 것으로 착각
- delete된 ID에 itemconfig 호출
- 도형과 텍스트 옵션을 혼동
항상
어떤 타입의 아이템인지를
의식해야 합니다.
Canvas 제어 흐름이 완성되다
이제 Canvas 아이템은:
- 생성한다 (create)
- 이동한다 (move)
- 삭제한다 (delete)
- 모습이 바뀐다 (itemconfig)
이 네 가지로
대부분의 UI 동작을
표현할 수 있습니다.
이번 강의 핵심 정리
이번 강의에서 꼭 기억해야 할 내용입니다.
- itemconfig로 아이템 속성을 변경한다
- 색상, 두께, 텍스트 모두 변경 가능하다
- ID가 반드시 필요하다
- 상태 표현의 핵심 도구다
다음 강의 예고
다음 강의에서는
Canvas 아이템의 좌표를 직접 다루는 방법(coords) 을 배웁니다.
이제
이동량이 아니라
정확한 위치 제어로 넘어갑니다.
'⚙️ Python > 🪟 Tkinter 기초' 카테고리의 다른 글
| [Tkinter] 60강 Canvas 그리기 순서와 레이어 개념 이해하기 (0) | 2026.02.19 |
|---|---|
| [Tkinter] 59강 Canvas 아이템 좌표 직접 다루기(coords) (0) | 2026.02.19 |
| [Tkinter] 57강 Canvas 아이템 삭제(Delete)하기 (0) | 2026.02.18 |
| [Tkinter] 56강 Canvas 아이템 이동(move)시키기 (0) | 2026.02.17 |
| [Tkinter] 55강 Canvas 아이템 ID 개념 이해하기 (0) | 2026.02.17 |