Tkinter Tutorial - Eintrag

  1. Tkinter Entry Beispiel
  2. Tkinter Entry Standardtext

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

Tkinter Entry_Basic.py
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).