본문 바로가기

[Python] tkinter 텍스트 입력 창/ 콤보박스/체크박스/라디오버튼 사용하기

by rudals.kim 2021. 1. 11. 댓글 개
반응형

 1. 텍스트 입력 창 

텍스트를 입력 후 확인 버튼을 클릭하면 입력된 내용이 라벨에 보여집니다.

from tkinter import *

def pressed():
    label.configure(text="버튼을 누름")

def confirm():
    in_text = "입력 내용 : " + input_text.get()
    label.configure(text=in_text)

window = Tk()
window.title("tkinter 테스트")
window.geometry('320x240')

label = Label(window, text="라벨테스트", font=("돋음", 10))
label.grid(column=0, row=0)

button = Button(window, text="버튼테스트", bg="blue", fg="white", command=pressed)
button.grid(column=0, row=1)

input_text = Entry(window, width=30)
input_text.grid(column=0, row=2)

button = Button(window, text="확인", command=confirm)
button.grid(column=1, row=2)

window.mainloop()

 

 2. 콤보박스 

콤보박스 생성 후 튜플 자료형으로 콤보박스의 데이터를 넣어주면 됩니다.

from tkinter import *
from tkinter.ttk import *

window = Tk()
window.title("tkinter 테스트")
window.geometry('320x240')

combo = Combobox(window)
combo['values']=(1, "기본으로 선택되는 아이템", 3, 4, "마지막 아이템")
combo.current(1)
combo.grid(column=0, row=0)

window.mainloop()

 

 3. 체크박스 

체크박스의 BooleanVar을 사용하여 기본 체크값을 설정 할 수 있습니다.

from tkinter import *
from tkinter.ttk import *

window = Tk()
window.title("tkinter 테스트")
window.geometry('320x240')

combo = Combobox(window)
combo['values']=(1, "기본으로 선택되는 아이템", 3, 4, "마지막 아이템")
combo.current(1)
combo.grid(column=0, row=0)

chk_state = BooleanVar()
chk_state.set(True)
chk = Checkbutton(window, text='선택', var=chk_state)
chk.grid(column=0, row=1)

window.mainloop()

 

 4. 라디오버튼 

라디오 버튼 3개를 그룹화시켜 한번에 한 개의 라디오 버튼만 선택되며 선택 시 선택된 값이 라벨에 표시됩니다.

from tkinter import *
from tkinter.ttk import *

window = Tk()
window.title("tkinter 테스트")
window.geometry('320x240')

radioValue = IntVar() 

# variable 값을 공유하는 버튼끼리 그룹(group)이 됩니다.
radio_button1 = Radiobutton(window,text='1번', variable=radioValue, value=0)
radio_button2 = Radiobutton(window,text='2번', variable=radioValue, value=1)
radio_button3 = Radiobutton(window,text='3번', variable=radioValue, value=2)

radio_button1.grid(column=0, row=0)
radio_button2.grid(column=0, row=1)
radio_button3.grid(column=0, row=2)

# 각 버튼을 클릭시 value값이 radioValue로 입력됩니다.
labelValue = Label(window, textvariable=radioValue)
labelValue.grid(column=2, row=0, padx=40)

window.mainloop()

2번 라디오 버튼을 클릭하면 value=1 값이 라벨로 보여집니다.

반응형

댓글