Tkinter Tutorial - Eintrag

Jinku Hu 3 Januar 2023
  1. Tkinter Entry Beispiel
  2. Tkinter Entry Standardtext
Tkinter Tutorial - Eintrag

Das Tkinter Entry Widget erlaubt es dem Benutzer, eine einzelne Textzeile einzugeben, die nur eine Schriftart hat. Wenn mehr Zeilen benötigt werden, sollten Sie das Tkinter Text Widget benutzen. Das Entry Widget kann auch zur Anzeige des einzeiligen Textes verwendet werden.

Tkinter Entry Beispiel

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()

Dieser Beispielcode erstellt ein GUI, in dem der Benutzer die Namen des Landes und der Stadt eingeben kann, dann zeigt es die eingegebenen Informationen an, nachdem die Schaltfläche Get Result angeklickt wurde.

Tkinter Tutorial_Eingabe Basic

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

Es erzeugt eine Tkinter Entry Widget-Instanz, deren Breite 20 Zeicheneinheiten beträgt. Es könnte nur 20 Zeichen im Eingabefeld anzeigen, daher müssen Sie die Pfeiltasten benutzen, um den Rest der Zeile anzuzeigen, wenn die Textzeile mehr als 20 Zeichen hat.

Der Text des Eingabe-Widgets ist einer Tkinter String-Variablen landString zugeordnet. Sie könnten den Text mit der Methode landString.get() erhalten und den Text mit der Methode landString.set() setzen. Der Text in dem Eingabefeld wird automatisch aktualisiert, wenn die set() Methode verwendet wird.

Hinweis
Neben der get() Methode von StringVar, könnten Sie auch die get() Methode des Entry Widget-Objektes benutzen, um den String in der Entry Box abzurufen.

Tkinter Entry Standardtext

Wir haben zwei Möglichkeiten, den Entry Standardtext zu setzen,

set() Methode zum Setzen von Tkinter Entry Default Text

Wie im obigen Beispiel angedeutet, könnten Sie die set() Methode von StringVar benutzen, um den Standardtext von Tkinter Entry zu setzen.

Zum Beispiel,

landString.set("Netherlands")

Es wird der Standardtext als Netherlands gesetzt.

insert() Methode zum Setzen von Tkinter Entry Default Text

Die Methode insert(index, string) fügt den Text string an der angegebenen Index Position ein. Und wenn index END ist, wird der Text an das Entry Widget angehängt.

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

Es setzt den Standardtext auf Niederlande.

Anmerkung
Wenn index größer ist als die Länge der vorhandenen Zeichenkette im Widget, ist es gleich insert(END, string).
Autor: 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