Tkinter 튜토리얼-항목

Jinku Hu 2024년2월15일
  1. Tkinter Entry 예
  2. Tkinter Entry 기본 텍스트
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 를 생성 한 다음 결과 가져 오기 버튼을 클릭 한 후 입력 된 정보를 표시합니다.

Tkinter Tutorial_Entry 기본

entryLand = tk.Entry(app, width=20, textvariable=landString)

너비가 20 자 단위 인 하나의 Tkinter Entry 위젯 인스턴스를 작성합니다. 입력 상자에 20 자만 표시 할 수 있으므로 텍스트 행에 20자가 넘는 문자가 있으면 화살표 키를 사용하여 나머지 행을 표시해야합니다.

엔트리 위젯의 텍스트는 Tkinter 문자열 변수 landString 에 할당됩니다. landString.get()메소드로 텍스트를 가져오고 landString.set()메소드로 텍스트를 설정할 수 있습니다. set()메소드를 사용하면 입력 상자의 텍스트가 자동으로 업데이트됩니다.

노트
StringVarget()메소드 외에도 Entry 위젯 오브젝트의 get()메소드를 사용하여 Entry 상자에서 문자열을 검색 할 수 있습니다.

Tkinter Entry 기본 텍스트

‘엔트리’기본 텍스트를 설정하는 두 가지 방법이 있습니다.

Tkinter Entry set() 기본 텍스트 설정 방법

위 예제에서 알 수 있듯이 StringVarset()메소드를 사용하여 Tkinter Entry 의 기본 텍스트를 설정할 수 있습니다.

예를 들어

landString.set("Netherlands")

기본 텍스트는 ‘네덜란드’로 설정됩니다.

insert() Tkinter Entry 기본 텍스트를 설정하는 메소드

insert(index, string)메소드는 주어진 index 위치에 string 텍스트를 삽입합니다. 그리고 indexEND 이면 텍스트를 Entry 위젯에 추가합니다.

entryLand.insert(tk.END, "Netherlands")

기본 텍스트를Netherlands 로 설정합니다.

노트
index 가 위젯의 기존 문자열 길이보다 크면 insert(END, string)와 같습니다.
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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