라디오 버튼(Radiobutton) |
라디오버튼 위젯은 여러 선택사항 중에서 하나만 선택이 가능하게 하고자 할 때 사용합니다.
라디오버튼은 단지 하나만 선택이 가능하기 때문에 IntValue()함수와 value옵션을 이용하여 버튼마다 기능을 수행하도록 설정할 수 있습니다.
체크버튼은 여러개의 선택이 동시에 가능합니다.
▶ 생성
변수 = Radiobutton(부모객체, 옵션) |
▶ 옵션

▶ 메소드
deselect() | 라디오버튼 선택 해제 |
flash() | 클릭시와 비클릭시 색상 반복 |
invoke() | 라디오버튼 상태변화시 함수 호출 |
select() | 라디오 버튼 선택 |
[ 파이썬 위젯 라디오버튼 에제 1 ]
- 그럼 아래와 같이 가장 좋아하는 동물/음식/과목을 선택하는 프로그램을 만들어 볼까요?
중요한 점은 라디오버튼의 valueable은 동일해야 하며 value는 각각 다른 값을 가지고 있어야 합니다.
그래야 하나의 선택만 가능하고 선택한 버튼을 알수 있습니다.

[ 소스코드 ]
from tkinter import *
def select1():
if r1.get() == 1:
str1 = "고양이"
elif r1.get() == 2:
str1 = "강아지"
elif r1.get()==3:
str1 = "토끼"
elif r1.get()==4:
str1 = "햄스터"
select = "당신은" + str1 +"을 선택하셨습니다"
show1.config(text = select)
def select2():
select = "당신은" + str(r2.get()) +"번을 선택하셨습니다"
show2.config(text = select)
def select3():
select = "당신은" + str(r3.get()) +"번을 선택하셨습니다"
show3.config(text = select)
def end1():
win.destroy()
win = Tk()
win.title("파이썬 위젯 라디오버튼")
win.geometry("300x500")
r1= IntVar()
r2= IntVar()
r3= IntVar()
label1 = Label(win, text = "[1번 문제] 당신이 가장 좋아하는 동물은 ? ")
label1.pack()
r11 = Radiobutton(win, text = "1. 고양이", variable=r1, value="1", command = select1)
r11.pack(anchor= W)
r12 = Radiobutton(win, text = "2. 강아지", variable=r1, value="2", command = select1)
r12. pack(anchor= W)
r13 = Radiobutton(win, text = "3. 토끼", variable=r1, value="3", command = select1)
r13.pack(anchor= W)
r14 = Radiobutton(win, text = "4. 햄스터", variable=r1, value="4", command = select1)
r14.pack(anchor= W)
show1=Label(win)
show1.pack()
line1 = Label(win, text = "---------------------------------------")
line1.pack()
label2 = Label(win, text = "[2번 문제] 당신이 가장 좋아하는 과목은 ? ")
label2.pack()
r21 = Radiobutton(win, text = "1. 국어", variable=r2, value="1", command = select2)
r21.pack(anchor= W)
r22 = Radiobutton(win, text = "2. 수학", variable=r2, value="2", command = select2)
r22. pack(anchor= W)
r23 = Radiobutton(win, text = "3. 영어", variable=r2, value="3", command = select2)
r23.pack(anchor= W)
r24 = Radiobutton(win, text = "4. 과학", variable=r2, value="4", command = select2)
r24.pack(anchor= W)
show2=Label(win)
show2.pack()
line2 = Label(win, text = "---------------------------------------")
line2.pack()
label3 = Label(win, text = "[3번 문제] 당신이 가장 좋아하는 음식은 ? ")
label3.pack()
r31 = Radiobutton(win, text = "1. 치킨", variable=r3, value="1", command = select3)
r31.pack(anchor= W)
r32 = Radiobutton(win, text = "2. 피자", variable=r3, value="2", command = select3)
r32. pack(anchor= W)
r33 = Radiobutton(win, text = "3. 스파게티", variable=r3, value="3", command = select3)
r33.pack(anchor= W)
r34 = Radiobutton(win, text = "4. 스테이크", variable=r3, value="4", command = select3)
r34.pack(anchor= W)
show3=Label(win)
show3.pack()
end = Button(win, text ="종 료", width=10, command=end1)
end.pack()
win.mainloop()
'파이썬 GUI' 카테고리의 다른 글
8. 파이썬 위젯 - 프레임 (0) | 2020.12.14 |
---|---|
7. 파이썬 위젯 - 체크버튼 (0) | 2020.12.13 |
5. 파이썬 위젯 - 텍스트 상자 (0) | 2020.12.11 |
4. 파이썬 GUI - 입력창(Entry) (0) | 2020.12.10 |
3. 파이썬 GUI - 메시지박스 (0) | 2020.12.09 |