본문 바로가기
파이썬/tkinter GUI (코로나 양성예측도,음성예측도)

[파이썬 tkinter GUI 만들기] #6. 버튼 눌러서 값 입력받기

by 만다린망고 2022. 2. 1.
반응형

 

 

최종 목표는 아래 프로그램입니다. 

 

 

오늘은 빨간 버튼을 만들고 우리가 입력한 값을 우측 입력결과에 나오게할 것입니다. 지난시간까지 만든 코드는 아래와 같습니다. 

 

import tkinter as tk

#윈도우 생성
root=tk.Tk()

#전체 이름
root.title('코로나 진단키트 에측도 진단 프로그램')

#창 크기 +붙은 부분은 좌상단 떨어진 위치
root.geometry("600x500+100+100")

#1행 라벨 추가
lab11=tk.Label(root,
    text="민감도",
    width=8,
    height=1,
    font=('맑은 고딕',16,'bold'),
    bg='#2F5597',
    fg='white')
lab11.grid(row=0,column=0,padx=5,pady=10)

ent12=tk.Entry(font=('맑은 고딕',16,'bold'),bg='white',width=8)
ent12.grid(row=0,column=1,padx=5,pady=10)

 

버튼을 만드는 코드는 아래와 같습니다. 13의 의미는 1행3열에 위치한다는 말입니다. text에는 특수문자 화살표를 넣었습니다. 유니코드로 u2192 입니다. 

 

button13 = tk.Button(root,text='\u2192',font=('맑은 고딕',11,'bold'),bg="red",fg='white',width=4)
button13.grid(row=0,column=2,padx=5,pady=10)

 

아래는 실행 결과입니다. 

 

 

결과가 출력될 라벨도 하나 만들어줍시다. text 정보는 비워둡니다. 

 

lab14=tk.Label(root,width=8,height=1,font=('맑은 고딕',16,'bold'),bg='#2F5597',fg='white')
lab14.grid(row=0,column=3,padx=5,pady=10)

 

 

이제 우리가 무언가 입력하고 버튼을 누르면 맨 오른쪽 라벨에 해당 값이 뜨게 해야합니다. 

 

함수를 하나 정의하고, 버튼을 누를 때 해당 함수를 실행되도록 하면 됩니다. 아래와 같이 함수를 먼저 정의합시다. 

 

#함수들

def make_lab14() :
    lab14.configure(text=ent12.get())

 

lab14 의 text에 ent12의 입력값을 넣겠다는 말입니다. 이제 버튼 command 에 우리가 정의한 함수를 입력해줍니다. 

 

 

아래는 실행 결과입니다. 

 

 

아래는 전체 코드입니다. 

 

import tkinter as tk

#윈도우 생성
root=tk.Tk()

#전체 이름
root.title('코로나 진단키트 에측도 진단 프로그램')

#창 크기 +붙은 부분은 좌상단 떨어진 위치
root.geometry("600x500+100+100")

#함수들

def make_lab14() :
    lab14.configure(text=ent12.get())

#1행 라벨 추가
lab11=tk.Label(root,
    text="민감도",
    width=8,
    height=1,
    font=('맑은 고딕',16,'bold'),
    bg='#2F5597',
    fg='white')
lab11.grid(row=0,column=0,padx=5,pady=10)

ent12=tk.Entry(font=('맑은 고딕',16,'bold'),bg='white',width=8)
ent12.grid(row=0,column=1,padx=5,pady=10)

button13 = tk.Button(root,text='\u2192',font=('맑은 고딕',11,'bold'),bg="red",fg='white',width=4,command=make_lab14)
button13.grid(row=0,column=2,padx=5,pady=10)

lab14=tk.Label(root,width=8,height=1,font=('맑은 고딕',16,'bold'),bg='#2F5597',fg='white')
lab14.grid(row=0,column=3,padx=5,pady=10)

 

반응형

댓글