Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

tkinter에서 특정 텍스트를 제거할 수 없도록 만드는 방법은 무엇입니까?

<시간/>

Tkinter에서 사용자는 두 가지 기본 텍스트 입력 위젯인 텍스트를 사용하여 텍스트를 입력할 수 있습니다. 위젯 및 항목 위젯. 텍스트 위젯은 일반적으로 여러 줄 사용자 입력을 수락하는 데 사용되는 반면 항목 위젯에서 사용자는 한 줄 텍스트만 입력할 수 있습니다.

내장 라이브러리 함수 및 메서드를 사용하여 이러한 위젯을 사용자 정의하고 추가 기능을 추가할 수 있습니다. 항목의 입력을 확인하려면 위젯에서 register()를 사용할 수 있습니다. 방법. 이 메서드는 이후 단계에서 함수를 호출하는 데 사용할 수 있는 문자열을 반환합니다.

항목의 입력을 확인하려면 위젯, config(**options) 사용 메소드 및 validate 전달 및 validate 명령 인수.

  • 검증 − 주어진 항목 또는 텍스트 위젯에서 입력의 유효성을 검사하기 위해 콜백 함수를 호출해야 하는 경우를 나타냅니다. 예:"키" 사용자가 를 누를 때마다 지정하는 값입니다. (키보드에서) 콜백 함수가 호출됩니다. focus, focusin, focusout, 없음, 모두와 같은 다른 옵션을 사용할 수도 있습니다. 등

  • validate 명령 − 콜백 함수가 반환하는 값에 따라 달라지는 값을 지정합니다. validatecommand='f'에 값을 지정하려면 , 콜백 함수에서 반환되는 값과 방법을 알려주는 다양한 콜백 대체 코드를 사용할 수 있습니다.

Entry 위젯의 입력 유효성을 검사하려면 콜백 함수를 등록하고 콜백 함수에 정의된 조건을 확인하는 인수를 전달하여 Entry 위젯을 구성해야 합니다.

예시

이제 사용자가 특정 텍스트를 제거할 수 없도록 항목 위젯의 유효성을 검사하려는 예를 살펴보겠습니다. 또한 startswith("string")로 문자열을 확인하여 제거할 수 없도록 만들 수 있습니다. 기능.

# tkinter에서 필수 라이브러리 가져오기 import *# tkinter 인스턴스 생성 windowwin =Tk()win.geometry("700x350")# 텍스트를 제거할 수 없도록 만드는 함수 정의def make_non_removable(text):return text.startswith( "Enter your Email Id:")# 항목 만들기 widgetentry=Entry(win, bg="black", fg="white")entry.pack(side="top", fill="x")# 기본값 추가 textentry.insert(END, "이메일 ID를 입력하세요:")validate_entry=(win.register(make_non_removable), '%P')entry.config(validate='key', validatecommand=validate_entry)win.mainloop() 

출력

실행 시 "Enter your Email Id:"라는 기본 텍스트와 함께 창에 항목 위젯이 표시됩니다.

tkinter에서 특정 텍스트를 제거할 수 없도록 만드는 방법은 무엇입니까?