
이 강의는 Tkinter GUI 강의 22강입니다
21강에서는
Checkbutton 위젯을 사용해
여러 옵션을 선택하는 방법을 배웠습니다.
이번 강의에서는
Checkbutton과 매우 비슷해 보이지만
동작 방식이 완전히 다른
Radiobutton 위젯을 다룹니다.
이번 강의의 목표는 분명합니다.
Radiobutton이
왜 하나만 선택되는지 이해하고,
그 값을 정확하게 처리하는 방법을 익히는 것입니다.
Radiobutton 위젯이란 무엇인가
Radiobutton은
여러 선택지 중에서
오직 하나만 선택할 수 있는 위젯입니다.
대표적인 사용 예시는 다음과 같습니다.
- 성별 선택
- 결제 수단 선택
- 난이도 선택
- 옵션 중 하나만 고르는 경우
Checkbutton과 가장 큰 차이점은
선택이 서로 연결되어 있다는 점입니다.
Radiobutton의 핵심 개념
Radiobutton의 핵심은
모든 버튼이 하나의 변수를 공유한다는 것입니다.
- 같은 variable을 사용
- 각 버튼은 서로 다른 value를 가짐
- variable 값으로 현재 선택 상태 판단
이 구조를 이해하면
Radiobutton은 어렵지 않습니다.
Radiobutton의 기본 사용 형태
tk.Radiobutton(부모, text="옵션", variable=변수, value=값)
여기서 중요한 것은
variable과 value입니다.
가장 기본적인 Radiobutton 예제
import tkinter as tk
window = tk.Tk()
window.geometry("300x200")
choice = tk.IntVar()
tk.Radiobutton(window, text="옵션 1", variable=choice, value=1).pack(anchor="w")
tk.Radiobutton(window, text="옵션 2", variable=choice, value=2).pack(anchor="w")
tk.Radiobutton(window, text="옵션 3", variable=choice, value=3).pack(anchor="w")
window.mainloop()
세 개의 버튼 중
하나를 선택하면
choice 변수의 값이 바뀝니다.

Radiobutton 값 확인하기
선택된 값은
.get()으로 확인합니다.
print(choice.get())
- 옵션 1 선택 → 1
- 옵션 2 선택 → 2
- 옵션 3 선택 → 3
버튼을 눌러 선택 결과 출력하기
import tkinter as tk
window = tk.Tk()
window.geometry("300x200")
choice = tk.IntVar()
def show_choice():
print(choice.get())
tk.Radiobutton(window, text="Easy", variable=choice, value=1).pack(anchor="w")
tk.Radiobutton(window, text="Normal", variable=choice, value=2).pack(anchor="w")
tk.Radiobutton(window, text="Hard", variable=choice, value=3).pack(anchor="w")
tk.Button(window, text="확인", command=show_choice).pack(pady=10)
window.mainloop()
확인 버튼을 누르면
현재 선택된 옵션이 출력됩니다.

문자열 값으로 Radiobutton 사용하기
Radiobutton은
IntVar뿐만 아니라
StringVar도 사용할 수 있습니다.
level = tk.StringVar()
tk.Radiobutton(window, text="Low", variable=level, value="low").pack(anchor="w")
tk.Radiobutton(window, text="High", variable=level, value="high").pack(anchor="w")
이 경우
level.get()의 결과는
문자열이 됩니다.
기본 선택값 설정하기
프로그램 시작 시
기본 선택값을
미리 지정할 수 있습니다.
choice.set(2)
이렇게 하면
해당 value를 가진
Radiobutton이
처음부터 선택된 상태로 표시됩니다.
Radiobutton 선택 변경 이벤트 처리
Radiobutton도
선택이 바뀔 때
함수를 실행할 수 있습니다.
def on_change():
print(choice.get())
tk.Radiobutton(
window,
text="옵션",
variable=choice,
value=1,
command=on_change
)
선택이 바뀔 때마다
함수가 호출됩니다.
Checkbutton과 Radiobutton의 차이
지금까지 배운 내용을
정리해보면 다음과 같습니다.
Checkbutton
- 여러 개 선택 가능
- 각각 독립적인 변수 사용
Radiobutton
- 하나만 선택 가능
- 하나의 변수를 공유
이 차이를
명확히 구분해야 합니다.
Radiobutton은 언제 사용하면 좋은가
Radiobutton은
다음과 같은 경우에 적합합니다.
- 반드시 하나만 선택해야 할 때
- 선택지 수가 명확할 때
- 선택 결과가 중요한 경우
선택지가 많아지면
Combobox가 더 적합합니다.
(나중 강의에서 다룹니다)
이번 강의 핵심 정리
이번 강의에서 꼭 기억해야 할 내용입니다.
- Radiobutton은 하나만 선택하는 위젯이다
- 모든 버튼이 하나의 변수를 공유한다
- value 값으로 선택 상태를 구분한다
- Checkbutton과 목적이 다르다
다음 강의 예고
다음 강의에서는
Scale 위젯을 사용해
슬라이더 형태의 입력을 처리하는 방법을 배웁니다.
선택이 아니라
값을 조절하는 입력 방식입니다.
'⚙️ Python > 🪟 Tkinter 기초' 카테고리의 다른 글
| [Tkinter] 24강 Spinbox 위젯으로 숫자 선택하기 (0) | 2026.02.01 |
|---|---|
| [Tkinter] 23강 Scale 위젯으로 값 조절하기 (0) | 2026.02.01 |
| [Tkinter] 21강 Checkbutton 위젯으로 선택 입력 받기 (0) | 2026.01.31 |
| [Tkinter] 20강 fill과 expand 옵션 완벽 이해하기 (0) | 2026.01.30 |
| [Tkinter] 19강 위젯 크기 고정과 자동 확장 이해하기 (0) | 2026.01.30 |