반응형
라디오 버튼(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
Posted by 명문코딩컴퓨터
,