본문 바로가기

[Tkinter] 21강 Checkbutton 위젯으로 선택 입력 받기

@도마22026. 1. 31. 18:00
728x90


이 강의는 Tkinter GUI 강의 21강입니다

20강에서는
fill과 expand 옵션을 통해
위젯이 자동으로 확장되는 원리를 배웠습니다.

이번 강의부터는
사용자 입력을 받는 위젯들
하나씩 다루기 시작합니다.

이번 강의의 주제는
Checkbutton 위젯입니다.

이번 강의의 목표는 분명합니다.
Checkbutton이
어떤 값을 가지는지 이해하고,
선택 상태를 코드로 처리하는 방법을 익히는 것입니다.


Checkbutton 위젯이란 무엇인가

Checkbutton은
사용자가
켜짐 / 꺼짐 상태를 선택할 수 있는 위젯입니다.

대표적인 예는 다음과 같습니다.

  • 자동 로그인
  • 동의 여부
  • 옵션 ON / OFF

즉,
참 / 거짓(Boolean) 값을 다룰 때
사용하는 위젯입니다.


Checkbutton의 기본 형태

Checkbutton은
Button과 생김새는 비슷하지만
상태를 유지한다는 점이 다릅니다.

기본 사용 형태는 다음과 같습니다.

tk.Checkbutton(부모, text="옵션")

하지만
이 상태만으로는
선택 여부를 알 수 없습니다.


변수와 함께 사용하는 것이 핵심이다

Checkbutton은
반드시 변수와 연결해서 사용해야 합니다.

이 변수에
선택 상태가 저장됩니다.

var = tk.BooleanVar()

가장 기본적인 Checkbutton 예제

import tkinter as tk

window = tk.Tk()
window.geometry("300x200")

check_var = tk.BooleanVar()

tk.Checkbutton(
window,
text="자동 로그인",
variable=check_var
).pack(pady=20)

window.mainloop()

이제
체크 상태가
check_var에 저장됩니다.


Checkbutton 값 확인하기

선택 여부는
.get() 메서드로 확인합니다.

print(check_var.get())

 

  • 체크됨 → True
  • 체크 해제 → False

버튼과 함께 값 출력해보기

import tkinter as tk

window = tk.Tk()
window.geometry("300x200")

check_var = tk.BooleanVar()

def show_state():
print(check_var.get())

tk.Checkbutton(
window,
text="알림 받기",
variable=check_var
).pack()

tk.Button(
window,
text="확인",
command=show_state
).pack(pady=10)

window.mainloop()

 

버튼을 누르면
현재 체크 상태가
출력됩니다.


IntVar로 Checkbutton 사용하기

Checkbutton은
BooleanVar 대신
IntVar도 사용할 수 있습니다.

check_var = tk.IntVar()
  • 체크됨 → 1
  • 체크 해제 → 0

이 방식은
여러 옵션 값을
숫자로 처리할 때 유용합니다.


여러 개의 Checkbutton 사용하기

Checkbutton은
여러 개를
동시에 선택할 수 있습니다.

import tkinter as tk

window = tk.Tk()
window.geometry("300x200")

opt1 = tk.BooleanVar()
opt2 = tk.BooleanVar()

tk.Checkbutton(window, text="자동 저장", variable=opt1).pack(anchor="w")
tk.Checkbutton(window, text="알림 받기", variable=opt2).pack(anchor="w")

window.mainloop()

각 옵션은
서로 독립적인 값을 가집니다.


체크 상태 변경 이벤트 처리하기

Checkbutton은
상태가 바뀔 때
함수를 실행할 수도 있습니다.

def on_change():
print(check_var.get())

tk.Checkbutton(
window,
text="옵션",
variable=check_var,
command=on_change
)

체크할 때마다
함수가 호출됩니다.


Checkbutton은 언제 사용하면 좋은가

Checkbutton은
다음과 같은 경우에 적합합니다.

  • 여러 옵션 중 복수 선택
  • 설정 ON / OFF
  • 동의 여부 체크

하나만 선택해야 하는 경우에는
Radiobutton을 사용합니다.
(다음 강의에서 다룹니다)


Checkbutton 사용 시 주의할 점

Checkbutton은
변수 없이 사용하면
값을 추적할 수 없습니다.

항상
variable 옵션을 함께 사용해야 합니다.


이번 강의 핵심 정리

이번 강의에서 꼭 기억해야 할 내용입니다.

  • Checkbutton은 선택 상태를 유지하는 위젯이다
  • BooleanVar 또는 IntVar와 함께 사용한다
  • get()으로 선택 상태를 확인한다
  • 여러 개를 동시에 선택할 수 있다

다음 강의 예고

다음 강의에서는
Radiobutton 위젯을 사용해
“하나만 선택하는 입력”을 처리하는 방법을 배웁니다.

Checkbutton과의 차이가
아주 중요합니다.


728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차