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()실행 결과
위 코드를 실행하면 화면에 비밀번호 입력 필드와 함께 비밀번호를 확인할 수 있는 버튼이 표시됩니다.

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

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