파이썬 (pythoon)

[python] tkinter / Radiobutton / 라디오버튼 / set() / IntVal() / StrVal() / type변수선언 / variable / get()

working for you 2021. 7. 16. 00:26
반응형

[라디오버튼]

1. r.set('1') : 라디오버튼 시작시 체크

#라디오버튼 기본체크 (버튼값) / set()를 사용안하면 시작시 버튼 미체크

 

2. 정수형(InVal) /  문자형(StrVal) 변수선언

InVal()  :  Radiobutton(root, text='옵션1', variable=r, value=1, command=lambda: clicked(r.get())).pack()StrVal() :  Radiobutton(root,text='옵션1', variable=r, value='1', command=lambda: clicked(r.get())).pack()

 

3. RadioButton 옵션에  ' variable=변수 ' 를 설정해 값을 사용

4. command = lambda를 통해 함수에 라디오버튼 '값'을 보내서 활용

5. Radiobutton 선택시 이벤트 발생

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from tkinter import *
 
root = Tk()
root.title('라디오 버튼 study')
 
= IntVar() #type 변수선언
r.set('1'#라디오버튼 기본체크 (버튼값) / set()를 사용안하면 시작시 버튼 미체크
 
def clicked(value): # 버튼 클릭시 이벤트발생(Label에 값이 변경
    myLabel = Label(root, text=value)
    myLabel.pack()
 
#Radiobutton 설정 / variable = type변수를 선언해서 값을 사용 / lambda를 통해 clicked함수에 라디오버튼 값을 제공
Radiobutton(root, text='옵션1', variable=r, value=1, command=lambda: clicked(r.get())).pack()
Radiobutton(root, text='옵션2', variable=r, value=2, command=lambda: clicked(r.get())).pack()
 
myLabel = Label(root, text=r.get()) # 프로그램 실행시 값을 불러옴 / set()을 사용 안할시 '0'으로 기본 표기됨
myLabel.pack()
 
root.mainloop()
cs

6. 버튼 클릭시 이벤트발생

- 동일하게 command부분에 설정하면됨.


[라디오 버튼 리스트로 설정]

1. 리스트에 내용 넣기

toppings = [('값', '값'),('치즈', '치즈),('버섯', '버섯),] : text, mode 변수(튜플)

 

2. 문자열 변수선언

pizza = StringVar()

 

3. set('페파로니') : 문자형으로 라디오버튼 시작시 체크

 

4. 반복문을 통해서 라디오버튼 적용

 - text=text (페파로니) / variable=pizza (타입변수) / value=mode (페파로니)

 - pack(anchor=W) : 왼쪽정렬 / anchor=E : 오른쪽정렬

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from tkinter import *
 
root = Tk()
root.title('라디오 버튼 study')
 
toppings = [
    ('페파로니''페파로니'),
    ('치즈','치즈'),
    ('버섯','버섯'),
    ('양파','양파'),
]
 
pizza = StringVar()
pizza.set('페파로니')
 
for text, mode in toppings:
    Radiobutton(root, text=text, variable=pizza, value=mode).pack(anchor=W)
 
 
def clicked(value): # 버튼 클릭시 이벤트발생(Label에 값이 변경
    myLabel = Label(root, text=value)
    myLabel.pack()
 
mybutton = Button(root, text='클릭', command=lambda: clicked(pizza.get()))
mybutton.pack()
 
root.mainloop()
 
 
 
cs
반응형