본문 바로가기
개발기록/python

[python] python GUI 모듈 tkinter (Text, Input, RadioButton, Button)

by spectrum20 2024. 9. 21.
반응형

tkinter 모듈로 python GUI 만들기

GUI 창 생성, Label 입력, Input 값 가져오기, RadioButton 값 가져오기, Button 생성

 

 

1. GUI 창 생성

import tkinter as tk

root = tk.Tk()

# 타이틀 설정
root.title('타이틀')
# 크기 설정
root.geometry('300x300')
# 크기 조절
root.resizable(Boolean, Boolean)

root.mainloop()

 

 

2. 텍스트(Label) 입력하기

label1 = tk.Label(root, text="label1")
label2 = tk.Label(root, text="label2")

label1.pack()
label2.pack()

 

3. input 입력창 만들기

entry1 = tk.Entry(root, width=5)
entry2 = tk.Entry(root, width=10)

entry1.pack()
entry2.pack()

 

input 값 가져오기

entry1.get()

entry2.get()

 

 

4. 라디오버튼 만들기

# tk 변수 만들기
radio_value = tk.IntVar()

radio1 = tk.Radiobutton(root, text="radio1", variable = radio_value, value=1)
radio2 = tk.Radiobutton(root, text="radio2", variable = radio_value, value=2)

radio1.pack()
radio2.pack()

 

RadioButton 값 가져오기

* tk모듈에서 라디오버튼의 값을 가져오려면 먼저 변수를 만들어야 한다

var = tk.StringVar()           # string 변수

var = tk.IntVar()                # int 변수

var = tk.DoubleVar()         # float 변수

var = tk.BooleanVar()       # Boolean 변수

 

그 다음, 라디오버튼의 variable 속성에 변수를 넣어주고, value 속성에 변수의 DataType에 맞는 값을 넣어준다

radio1 = tk.Radiobutton(root, text="radio1", variable = radio_value, value=1)

 

값은 변수.get()으로 가져올 수 있다 

radio_value.get()

 

5. 실행 버튼 만들기

def btn():
	print('hi')
    
button = tk.Button(root, text='버튼', command=btn)
button.pack()

버튼을 누를 때마다 'hi'를 print하는 코드

 

 

 

 

 

완성코드

import tkinter as tk

root = tk.Tk()

# 타이틀 설정
root.title('타이틀')
# 크기 설정
root.geometry('300x300')
# 크기 조절
root.resizable(False, True)


# 버튼 누르기 함수
def btn():
	print('hi')
	print(radio_value.get())
	print(entry1.get())
	print(entry2.get())


# tk 변수 만들기
radio_value = tk.IntVar()

radio1 = tk.Radiobutton(root, text="radio1", variable = radio_value, value=1)
radio2 = tk.Radiobutton(root, text="radio2", variable = radio_value, value=2)

radio1.pack()
radio2.pack()


# text 입력
label1 = tk.Label(root, text="label1")
label2 = tk.Label(root, text="label2")

label1.pack()
label2.pack()


# input 입력받기
entry1 = tk.Entry(root, width=5)
entry2 = tk.Entry(root, width=10)

entry1.pack()
entry2.pack()


# 버튼	  
button = tk.Button(root, text='버튼', command=btn)
button.pack()


root.mainloop()

 

코드실행 결과

두번째 라디오버튼 (radio2)를 선택하고 버튼을 누르면, radio2 = tk.Radiobutton(root, text="radio2", variable = radio_value, value=2)

위 코드의 value값인 2를 가져온다

 

 

 

반응형

댓글