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.
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.
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
.
index
größer ist als die Länge der vorhandenen Zeichenkette im Widget, ist es gleich 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