728x90
반응형
라디오 버튼의 기본 함수는 Radiobutton()이다.
lang_var = StringVar() # str 형으로 변수 저장 btn_lang1 = Radiobutton(root, text="Phython", value="Phython", variable=lang_var) # root라는 창에 "Phython"이라는 내용을 가지고 "Python"이라는 value값을 가진 라디오 버튼 생성 btn_lang2 = Radiobutton(root, text="C", value="C", variable=lang_var) btn_lang3 = Radiobutton(root, text="JAVA", value="JAVA", variable=lang_var) btn_lang1.pack() # 라디오 버튼 배치 btn_lang2.pack() btn_lang3.pack()
라디오 버튼과 체크박스의 차이점은 바로
중복 선택이 불가능하다는 것이다.
그리고 value랑 vaiable이 무엇이냐
전 글에서 체크박스를 다룰 때 variable을 통해 체크되었는지 판별을 할 수 있었다.
라디오 버튼에서도 동일하게 체크다 되었다면 lang_var라는 변수에 값을 저장시켜
체크가 되었는지 판별할 수 있다.
선택된 항목의 값을 가져오는 법도 간단하다.
print(lang_var.get())
이러면 만약 btn_lang1이 체크가 되어있다면
lang_var 변수에 "Python"이라는 값이 저장 되고
a에 그 값을 출력할 수 있다.
이제 라디오 버튼을 활용한 간단한 프로그램을 만들어 보자
from tkinter import * # tkinter 라이브러리에 모든 함수를 사용하겠다. root = Tk() # root라는 창을 생성 root.geometry("600x400") # 창 크기설정 root.title("yeachan_yeachan") # 창 제목설정 root.option_add("*Font","맑은고딕 25") # 폰트설정 root.resizable(False, False) # x, y 창 크기 변경 불가 def btnpress(): # 함수 btnpress() 정의 a = [] a.append(lang_var.get()) a.append("선택되었음") lb.config(text=a) lang_var = StringVar() # str 형으로 변수 저장 btn_lang1 = Radiobutton(root, text="Python", value="Python", variable=lang_var) # root라는 창에 "Python"이라는 내용을 가지고 "Python"이라는 value값을 가진 라디오 버튼 생성 btn_lang1.select() # 기본값 선택 btn_lang2 = Radiobutton(root, text="C", value="C", variable=lang_var) btn_lang3 = Radiobutton(root, text="JAVA", value="JAVA", variable=lang_var) btn_lang1.pack() # 라디오 버튼 배치 btn_lang2.pack() btn_lang3.pack() btn = Button(root) # root라는 창에 버튼 생성 btn.config(text= "선택") # 버튼 내용 btn.config(width=10) # 버튼 크기 btn.config(command=btnpress) # 버튼 기능 (btnpree() 함수 호출) btn.pack() # 버튼 배치 lb = Label(root) # root라는 창에 레이블 생성 lb.pack() # 레이블 배치 root.mainloop() # 창 실행
이렇게 코드를 짜면 아래와 같이
자신이 선택한 라디오 버튼의 값이 버튼을 눌렀을 때
레이블에 나타나게 된다.
이번글에서는 간단히 라디오 버튼의 사용법을 알아보았다.
다음에는 리스트 박스와는 조금 다른 콤보박스를 배워보겠다.
728x90
반응형
'Python > [파이썬] GUI 프로그래밍' 카테고리의 다른 글
[파이썬] GUI 프로그래밍 #10 프로그래스 바 (로딩 바) 만들기 (0) | 2021.08.23 |
---|---|
[파이썬] GUI 프로그래밍 #9 콤보 박스 만들기 (0) | 2021.08.22 |
[파이썬] GUI 프로그래밍 #7 체크 박스 만들기 (0) | 2021.08.20 |
[파이썬] GUI 프로그래밍 #6 리스트 박스 만들기 (0) | 2021.08.20 |