수색…


통사론

  • entry = tk.Entry ( parent , ** kwargs )
  • entry.get ()
  • entry.insert (index, "value")
  • entry.delete (start_index, end_index)
  • entry.bind (이벤트, 콜백)

매개 변수

매개 변수 기술
부모의 tkinter 위젯은 hieararchy에 존재합니다. 루트 창을 제외하고 모든 위젯에는 부모가 있습니다. 일부 온라인 자습서에서는이를 "마스터"라고 부릅니다. 위젯이 pack , place 또는 grid 화면에 추가되면이 상위 위젯 안에 나타납니다
너비는 평균 글자 너비를 기반으로 위젯의 원하는 너비를 지정합니다. 가변 너비 글꼴의 경우 이것은 0 문자의 너비 ( 0 )를 기반으로합니다. 기본값은 20입니다. 화면에 추가되는 방법에 따라 실제 너비가 더 크거나 작을 수 있습니다.

비고

이 예제들은 tkinter가 import tkinter as tk ( import tkinter as tk (파이썬 3) 또는 import tkinter as tk ( import Tkinter as tk (파이썬 2) import Tkinter as tk 되었다고 가정합니다.

엔트리 위젯 만들기 및 기본값 설정

entry = tk.Entry(parent, width=10)
entry.insert(0, "Hello, World!")

엔트리 위젯의 가치 얻기

입력 위젯의 값은 위젯의 get 메소드로 get 수 있습니다.

name_entry = tk.Entry(parent)
...
name = name_entry.get()

선택적으로 StringVar 의 인스턴스를 연결하고 위젯이 아닌 StringVar 에서 값을 검색 할 수 있습니다.

name_var = tk.StringVar()
name_entry = tk.Entry(parent, textvariable=name_var)
...
name = name_var.get()

엔트리 위젯에 유효성 검사 추가하기

입력 위젯으로 입력 할 수있는 문자를 제한하기 위해 예를 들어 숫자 만 유효성 확인 명령을 항목에 추가 할 수 있습니다. 유효성 검사 명령은 변경 사항이 수락되면 True 를 반환하고 그렇지 않으면 False 를 반환하는 함수입니다. 이 함수는 항목의 내용이 수정 될 때마다 호출됩니다. 변경 (삽입, 삭제), 삽입 된 텍스트 등과 같은 다양한 인수가이 함수에 전달 될 수 있습니다.

def only_numbers(char):
    return char.isdigit()

validation = parent.register(only_numbers)
entry = Entry(parent, validate="key", validatecommand=(validation, '%S'))

validate 옵션은 유효성 검사를 트리거하는 이벤트 유형을 결정합니다. 여기서는 항목의 모든 키 입력입니다. validatecommand 옵션의 '%S' 는 삽입 또는 삭제 된 문자가 only_numbers 함수에 인수로 only_numbers 합니다. 가능성의 전체 목록은 여기 에서 찾을 수 있습니다 .

엔트리 위젯에서 정수 가져 오기

.get () 메소드를 사용할 때 항목 위젯에있는 것이 무엇이든 문자열로 변환됩니다. 예를 들어 입력 유형 (숫자 또는 문장 일 수 있음)에 관계없이 결과 결과는 문자열입니다. 사용자가 4를 입력하면 출력은 문자열에서와 같이 "4"가됩니다. 엔트리 위젯에서 int를 얻으려면 먼저 .get () 메소드를 호출하십시오.

What_User_Wrote = Entry.get()

이제 우리는 그 문자열을 다음과 같이 int로 변환합니다 :

Convert_To_Int = int(What_User_Wrote)

마찬가지로, 시간을 절약하려면 다음과 같이하면됩니다.

Convert_To_Int = int(Entry.get())

str을 int로 변환하지 않으려는 경우 위의 메서드를 사용할 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow