Tkinter 버튼 command: 함수 전달과 입력 검증
버튼의 command에는 실행 결과가 아니라 호출할 함수를 전달하며, 콜백 안에서 입력을 읽고 오류를 표시합니다.
어떤 상황에서 적용하나요?
다음은 입력한 작업 이름을 검사해 상태 문구를 바꾸는 Tkinter 예제입니다. GUI가 있는 Python 환경이 필요합니다. 네트워크 요청이나 파일 변경은 하지 않습니다.
검증 범위: 아래 코드는 문법을 점검한 GUI·브라우저 예제입니다. 이 사이트의 점검 환경에서는 실제 창 실행을 검증하지 않았으며 해당 실행 환경에서 수동 확인이 필요합니다.
최소 예제로 동작 확인하기
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title("작업 이름 확인")
entry = ttk.Entry(root)
entry.pack(padx=20, pady=10)
status = tk.StringVar(value="작업 이름을 입력하세요")
def check_input():
name = entry.get().strip()
status.set(f"준비: {name}" if name else "빈 이름은 사용할 수 없습니다")
ttk.Button(root, text="확인", command=check_input).pack(pady=10)
ttk.Label(root, textvariable=status).pack(padx=20, pady=10)
root.mainloop()
결과는 어떻게 확인하나요?
빈 값에서는 오류 안내가, 이름을 입력하면 준비 문구가 표시됩니다. command=check_input()으로 쓰면 창을 구성할 때 함수가 실행되므로 괄호 없이 전달하는 차이를 확인하세요.
실제 업무에 적용할 때 확인할 점
콜백에 오래 걸리는 작업을 직접 넣으면 이벤트 처리가 멈춥니다. 별도 작업 스레드와 큐를 사용하고 화면 변경은 메인 스레드에서 처리하세요. 입력 검증 성공을 실제 저장·전송 성공으로 표시하지 않습니다.
공식 자료와 다음 단계
관련 공식 문서에서 사용하는 버전의 기능과 제한을 확인하세요.
학습 경로: 업무 자동화 가이드 · 입력 오류 처리
작성: 로그 · 2026-10-17 수정: 확인되지 않은 경험담과 성능 보장 표현을 제거하고 예제·적용 조건·공식 근거를 보완했습니다.
댓글
댓글 쓰기