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

Tkinter에서 비밀번호 입력 필드 만드는 방법 (show 속성 완벽 가이드)

Tkinter 애플리케이션에 로그인 폼을 만들고 있다고 가정해 보겠습니다. 대부분의 로그인 폼은 아이디, 비밀번호 등 사용자 정보를 표준 형식으로 입력받도록 구성됩니다. 사용자는 Entry 위젯에 영문자와 숫자를 자유롭게 조합하여 비밀번호를 입력할 수 있습니다.


일반적으로 사용자와 애플리케이션 사이에 안전한 연결을 유지하기 위해, 비밀번호 필드에는 입력된 값이 그대로 노출되지 않고 "*" 같은 마스킹 문자로 표시됩니다. 이렇게 입력값을 "*" 형태로 가려서 받아들이는 필드를 만들려면 Entry 위젯에 show="*" 속성을 지정하면 됩니다.

예제 코드

아래 예제는 비밀번호를 숨김 처리하여 입력받는 Entry 위젯을 포함하고 있습니다. 화면의 "비밀번호 표시" 버튼을 클릭하면 입력한 비밀번호가 실제 값으로 화면에 나타납니다.

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

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

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

# 입력된 비밀번호를 화면에 표시하는 함수 정의
def show():
    p = password.get()
    ttk.Label(win, text="입력한 비밀번호: " + str(p)).pack()

password = StringVar()

# 비밀번호를 입력받는 Entry 위젯 추가 (show="*"로 마스킹)
entry = Entry(win, width=25, textvariable=password, show="*")
entry.pack(pady=10)

# 비밀번호를 공개하는 버튼 추가
ttk.Button(win, text="비밀번호 표시", command=show).pack()

win.mainloop()

실행 결과

위 코드를 실행하면 화면에 비밀번호 입력 필드와 함께 비밀번호를 확인할 수 있는 버튼이 표시됩니다.

Tkinter에서 비밀번호 입력 필드 만드는 방법 (show 속성 완벽 가이드)

이제 "비밀번호 표시" 버튼을 클릭하면, 마스킹되어 있던 비밀번호가 실제 입력값으로 화면에 출력됩니다.

Tkinter에서 비밀번호 입력 필드 만드는 방법 (show 속성 완벽 가이드)

핵심 정리

Entry 위젯의 show 옵션은 임의의 한 글자를 지정할 수 있습니다. 예를 들어 show="#" 또는 show="●"처럼 다른 문자로 마스킹할 수도 있으며, 값을 None으로 설정하면 입력 내용이 평소처럼 그대로 표시됩니다. 이 기능을 활용하면 로그인 폼뿐 아니라 회원가입, 설정 화면 등 다양한 UI에서 비밀번호 보안 처리를 손쉽게 구현할 수 있습니다.