Tkinter의 Entry 위젯에 임시 텍스트(플레이스홀더)를 삽입하려면 <FocusIn> 이벤트를 Entry 위젯에 바인딩하고, 사용자가 정의한 함수를 호출하여 Entry 위젯 내부의 텍스트를 삭제하면 됩니다. 이렇게 하면 사용자가 입력 필드를 클릭하는 순간 임시 텍스트가 자동으로 사라지고 새로운 값을 입력할 수 있습니다.
구현 단계
tkinter 라이브러리를 임포트하고 tkinter 프레임의 인스턴스를 생성합니다.
geometry 메서드를 사용하여 프레임의 크기를 설정합니다.
<FocusIn> 이벤트를 감지하여 Entry 위젯 안의 임시 텍스트를 삭제하는 사용자 정의 메서드 temp_text()를 작성합니다.
루트 윈도우 안에 Entry 위젯을 생성하고 배경색, 너비, 테두리 두께 등의 속성을 설정합니다.
Entry 위젯의 insert() 메서드를 사용하여 시작 위치 "0"에 문자열을 삽입합니다. 이것이 임시 텍스트이며, Entry 위젯이 클릭되면 사라집니다.
<FocusIn> 이벤트를 Entry 위젯에 바인딩하고 temp_text() 메서드를 호출합니다.
마지막으로 애플리케이션 창의 mainloop를 실행합니다.
예제 코드
# 필요한 라이브러리 임포트
from tkinter import *
# tkinter 프레임 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("700x250")
def temp_text(e):
textbox.delete(0,"end")
textbox = Entry(win, bg="white", width=50, borderwidth=2)
textbox.insert(0, "This is Temporary Text...")
textbox.pack(pady=20)
textbox.bind("", temp_text)
win.mainloop() 실행 결과
코드를 실행하면 다음과 같은 창이 나타납니다.

사용자가 Entry 위젯 내부를 클릭하면 임시 텍스트가 자동으로 사라지며, 빈 입력 필드에서 원하는 값을 바로 입력할 수 있습니다.

추가 팁
실제 애플리케이션에서는 사용자가 아무것도 입력하지 않고 포커스를 벗어나는 경우(<FocusOut>) 임시 텍스트를 복원하는 로직을 추가할 수도 있습니다. 또한 임시 텍스트의 색상을 회색으로 변경해 일반 입력값과 시각적으로 구분하면 더욱 직관적인 UI를 만들 수 있습니다.