Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Tkinter Entry 위젯 사용법: 한 줄 텍스트 입력 처리하기

Entry 위젯이란?

Entry 위젯은 Tcl/Tk 툴킷에 정의된 한 줄(single-line) 텍스트 입력 위젯입니다. 사용자로부터 짧은 텍스트를 입력받아 화면에 표시해야 하는 경우, 예를 들어 로그인 폼의 아이디·비밀번호 입력란이나 검색창 등을 만들 때 주로 활용됩니다.

Entry 위젯 생성 및 속성 설정

Entry 위젯을 사용하려면 먼저 Entry(parent, width, **options) 생성자를 호출하여 위젯 객체를 생성해야 합니다. 부모 컨테이너(parent)와 원하는 너비(width)를 지정할 수 있으며, 그 외 다양한 옵션도 함께 전달할 수 있습니다.

위젯을 생성한 이후에는 configure() 메서드를 사용해 글꼴(font), 글자색·배경색(color), 너비(width) 등의 속성을 동적으로 변경할 수 있습니다.

예제: 사용자 이름 입력받기

다음은 Entry 위젯으로 사용자 이름을 입력받고, 버튼 클릭 시 해당 이름을 포함한 인사말을 창에 표시하는 간단한 예제입니다.

# 필요한 라이브러리 임포트
from tkinter import *

# tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()

# 윈도우 크기 설정
win.geometry("700x350")

def show_name():
    # Label 위젯으로 인사말 표시
    label = Label(win, text="Hello " + str(entry.get()) + "👋", font=('Calibri 25')).pack(pady=20)
    # 입력 필드 비우기
    entry.delete(0, END)

# 안내용 라벨 생성
Label(win, text="Enter Your Name").pack()

# Entry 위젯 생성
entry = Entry(win, width=25)
entry.pack(pady=20)

Button(win, text="Submit", command=show_name).pack()

win.mainloop()

Entry 위젯의 주요 메서드

  • get(): 현재 입력된 값을 문자열로 반환합니다.
  • insert(index, text): 지정한 위치(index)에 텍스트를 삽입합니다.
  • delete(first, last): 지정한 범위의 텍스트를 삭제합니다. delete(0, END)처럼 사용하면 입력 내용 전체를 지울 수 있습니다.

실행 결과

위 코드를 실행하면 Entry 위젯과 버튼이 배치된 창이 나타납니다. Entry 위젯에 이름을 입력한 뒤 Submit 버튼을 클릭하면, 입력한 이름을 포함한 인사 메시지가 창에 출력되고 입력 필드는 자동으로 비워집니다.

Tkinter Entry 위젯 사용법: 한 줄 텍스트 입력 처리하기