Tkinter의 Entry 위젯은 텍스트 필드에 한 줄 입력을 받을 때 일반적으로 사용되는 위젯입니다. Entry 위젯에 입력된 값은 .get() 메서드를 통해 가져올 수 있습니다. 다만 주의할 점은 .get() 메서드가 항상 문자열(string) 형태로 값을 반환한다는 것입니다. 예를 들어, 사용자가 Entry 위젯에 정수를 입력하더라도 프로그램 내부에서는 문자열로 처리되기 때문에, 숫자 연산을 하려면 반드시 int() 함수로 형변환(casting)을 해주어야 합니다.
예제 코드
다음 예제는 사용자로부터 정수 두 개를 입력받아 그 합계를 계산하여 화면에 출력하는 방법을 보여줍니다.
# 필요한 라이브러리 임포트
from tkinter import *
# tkinter 프레임(윈도우) 인스턴스 생성
win=Tk()
# 윈도우 크기 설정
win.geometry("700x350")
def cal_sum():
# .get()으로 가져온 문자열을 int()로 형변환
t1=int(a.get())
t2=int(b.get())
sum=t1+t2
label.config(text=sum)
# Entry 위젯 생성
Label(win, text="Enter First Number", font=('Calibri 10')).pack()
a=Entry(win, width=35)
a.pack()
Label(win, text="Enter Second Number", font=('Calibri 10')).pack()
b=Entry(win, width=35)
b.pack()
label=Label(win, text="Total Sum : ", font=('Calibri 15'))
label.pack(pady=20)
Button(win, text="Calculate Sum", command=cal_sum).pack()
win.mainloop()실행 결과

참고: 잘못된 입력 예외 처리하기
사용자가 숫자가 아닌 값을 입력한 상태에서 int() 변환을 시도하면 ValueError가 발생하여 프로그램이 비정상 종료될 수 있습니다. 실무에서는 try-except 문으로 예외를 처리해 주는 것이 좋습니다.
def cal_sum():
try:
t1 = int(a.get())
t2 = int(b.get())
label.config(text=f"합계 : {t1 + t2}")
except ValueError:
label.config(text="숫자만 입력해 주세요!")이처럼 .get() 메서드로 가져온 문자열 값을 int()로 감싸기만 하면 간단하게 정수로 변환할 수 있으며, 예외 처리를 함께 적용하면 더욱 안정적인 GUI 프로그램을 만들 수 있습니다.