본문 바로가기

[Tkinter] 10강 입력값 검증 처리하기

@도마22026. 1. 25. 21:00
728x90


이 강의는 Tkinter GUI 강의 10강입니다.
9강에서는 Entry에 입력한 값을 Label에 출력하는 전체 흐름을 완성했습니다.
이번 강의에서는 한 단계 더 나아가
잘못된 입력을 걸러내는 방법, 즉 입력값 검증을 다룹니다.

이번 강의의 목표는 명확합니다.
사용자 입력을 그대로 믿지 않고, 안전하게 처리하는 습관을 익히는 것입니다.


입력값 검증이 필요한 이유

GUI 프로그램에서
사용자가 입력하는 값은 항상 예상대로 들어오지 않습니다.

예를 들면 다음과 같습니다.

  • 아무 것도 입력하지 않음
  • 숫자를 입력해야 하는데 문자를 입력함
  • 의미 없는 값 입력

이런 상황을 처리하지 않으면
프로그램은 쉽게 망가지거나
사용자에게 혼란을 줍니다.


가장 기본적인 검증: 빈 값 확인

가장 먼저 해야 할 검증은
입력값이 비어 있는지 확인하는 것입니다.

text = entry.get()

if text == "":
    print("입력이 비어 있습니다.")

이 조건을 사용하면
아무 것도 입력하지 않았을 때를
쉽게 감지할 수 있습니다.


GUI에서는 콘솔 대신 화면으로 알리기

GUI 프로그램에서는
오류 메시지를 콘솔에 출력하는 대신
화면에 표시하는 것이 좋습니다.

Label을 사용해
안내 메시지를 출력해 봅니다.

label.config(text="값을 입력해 주세요.")

이 방식이
GUI 사용자에게 훨씬 친절합니다.


입력값 검증을 포함한 함수 만들기

이제 입력값 검증을
기존 함수에 추가해 보겠습니다.

def show_text():
    text = entry.get()

    if text == "":
        label.config(text="입력값이 비어 있습니다.")
    else:
        label.config(text=text)

입력값이 없을 경우와
정상 입력일 경우를
명확히 분리했습니다.


전체 코드 예제

입력값 검증이 포함된
전체 코드는 다음과 같습니다.

import tkinter as tk

window = tk.Tk()
window.title("입력값 검증 예제")
window.geometry("400x300")

entry = tk.Entry(window)
entry.pack()

label = tk.Label(window, text="값을 입력하세요")
label.pack()

def show_text():
    text = entry.get()

    if text == "":
        label.config(text="입력값이 비어 있습니다.")
    else:
        label.config(text=text)

button = tk.Button(window, text="확인", command=show_text)
button.pack()

window.mainloop()

이제 버튼을 눌렀을 때
입력이 없으면 안내 메시지가,
입력이 있으면 해당 값이 표시됩니다.


입력값 검증은 여기서 끝이 아니다

이번 강의에서는
가장 기본적인 검증만 다뤘습니다.

앞으로 다루게 될 검증 예시는 다음과 같습니다.

  • 숫자인지 확인
  • 범위 확인
  • 형식 확인

이 개념들은
이후 계산기, 설정 화면 등에서
계속 사용됩니다.


이번 강의 핵심 정리

이번 강의에서 꼭 기억해야 할 내용입니다.

  • 사용자 입력은 항상 검증해야 한다
  • 빈 값 검사는 가장 기본적인 검증이다
  • GUI에서는 오류를 화면으로 알려준다
  • 조건문으로 입력 흐름을 제어한다

다음 강의 예고

다음 강의에서는
여러 개의 Entry와 Button을 함께 사용하는 화면 구성,
위젯을 조합하는 방법을 배웁니다.

이제 GUI가
단순한 예제 수준을 넘어
실제 화면 구조를 갖추기 시작합니다.


728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차