Tkinter 튜토리얼-항목
Tkinter Entry
위젯을 사용하면 하나의 글꼴 유형 만있는 한 줄의 텍스트를 입력 할 수 있습니다. 더 많은 줄이 필요한 경우 Tkinter Text
위젯을 사용해야합니다. Entry
위젯을 사용하여 한 줄짜리 텍스트를 표시 할 수도 있습니다.
Tkinter Entry 예
import tkinter as tk
from tkinter import ttk
def callbackFunc():
resultString.set("{} - {}".format(landString.get(), cityString.get()))
app = tk.Tk()
app.geometry("200x100")
labelLand = tk.Label(app, text="Country")
labelLand.grid(column=0, row=0, sticky=tk.W)
labelCity = tk.Label(app, text="City")
labelCity.grid(column=0, row=1, sticky=tk.W)
landString = tk.StringVar()
cityString = tk.StringVar()
entryLand = tk.Entry(app, width=20, textvariable=landString)
entryCity = tk.Entry(app, width=20, textvariable=cityString)
entryLand.grid(column=1, row=0, padx=10)
entryCity.grid(column=1, row=1, padx=10)
resultButton = tk.Button(app, text="Get Result", command=callbackFunc)
resultButton.grid(column=0, row=2, pady=10, sticky=tk.W)
resultString = tk.StringVar()
resultLabel = tk.Label(app, textvariable=resultString)
resultLabel.grid(column=1, row=2, padx=10, sticky=tk.W)
app.mainloop()
이 예제 코드는 사용자가 국가 및 도시 이름을 입력 할 수있는 GUI 를 생성 한 다음 결과 가져 오기 버튼을 클릭 한 후 입력 된 정보를 표시합니다.
entryLand = tk.Entry(app, width=20, textvariable=landString)
너비가 20 자 단위 인 하나의 Tkinter Entry
위젯 인스턴스를 작성합니다. 입력 상자에 20 자만 표시 할 수 있으므로 텍스트 행에 20자가 넘는 문자가 있으면 화살표 키를 사용하여 나머지 행을 표시해야합니다.
엔트리 위젯의 텍스트는 Tkinter 문자열 변수 landString
에 할당됩니다. landString.get()
메소드로 텍스트를 가져오고 landString.set()
메소드로 텍스트를 설정할 수 있습니다. set()
메소드를 사용하면 입력 상자의 텍스트가 자동으로 업데이트됩니다.
StringVar
의 get()
메소드 외에도 Entry
위젯 오브젝트의 get()
메소드를 사용하여 Entry
상자에서 문자열을 검색 할 수 있습니다.Tkinter Entry
기본 텍스트
‘엔트리’기본 텍스트를 설정하는 두 가지 방법이 있습니다.
Tkinter Entry
set()
기본 텍스트 설정 방법
위 예제에서 알 수 있듯이 StringVar
의 set()
메소드를 사용하여 Tkinter Entry
의 기본 텍스트를 설정할 수 있습니다.
예를 들어
landString.set("Netherlands")
기본 텍스트는 ‘네덜란드’로 설정됩니다.
insert()
Tkinter Entry
기본 텍스트를 설정하는 메소드
insert(index, string)
메소드는 주어진 index
위치에 string
텍스트를 삽입합니다. 그리고 index
가 END
이면 텍스트를 Entry
위젯에 추가합니다.
entryLand.insert(tk.END, "Netherlands")
기본 텍스트를Netherlands
로 설정합니다.
index
가 위젯의 기존 문자열 길이보다 크면 insert(END, string)
와 같습니다.Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook