Suche…


Syntax

  • entry = tk.Entry ( Parent , ** kwargs )
  • entry.get ()
  • entry.insert (Index, "Wert")
  • entry.delete (start_index, end_index)
  • entry.bind (event, callback)

Parameter

Parameter Beschreibung
Elternteil tkinter-Widgets existieren in einer Hieararchie. Mit Ausnahme des Stammfensters haben alle Widgets ein übergeordnetes Element. Einige Online-Tutorials nennen dies "Master". Wenn das Widget mit pack , place oder grid zum Bildschirm hinzugefügt wird, wird es in diesem übergeordneten Widget angezeigt
Breite Die Breite gibt die gewünschte Breite des Widgets basierend auf einer durchschnittlichen Zeichenbreite an. Bei Schriftarten mit variabler Breite basiert dies auf der Breite des Nullzeichens ( 0 ). Der Standardwert ist 20. Beachten Sie, dass die tatsächliche Breite je nach dem Hinzufügen zum Bildschirm größer oder kleiner sein kann.

Bemerkungen

In diesen Beispielen wird davon ausgegangen, dass tkinter entweder mit import tkinter as tk (Python 3) oder import Tkinter as tk (Python 2) import Tkinter as tk .

Eintrags-Widget erstellen und einen Standardwert festlegen

entry = tk.Entry(parent, width=10)
entry.insert(0, "Hello, World!")

Den Wert eines Entry-Widgets ermitteln

Der Wert eines Eintrags-Widgets kann mit der get Methode des Widgets abgerufen werden:

name_entry = tk.Entry(parent)
...
name = name_entry.get()

Optional können Sie eine Instanz einer StringVar und den Wert von der StringVar anstatt vom Widget:

name_var = tk.StringVar()
name_entry = tk.Entry(parent, textvariable=name_var)
...
name = name_var.get()

Validierung zu einem Entry-Widget hinzufügen

Um die Zeichen, die in ein Eintrags-Widget eingegeben werden können, einzuschränken, können zum Beispiel nur Zahlen, ein Validierungsbefehl, zum Eintrag hinzugefügt werden. Ein validate-Befehl ist eine Funktion, die True wenn die Änderung akzeptiert wird, andernfalls False . Diese Funktion wird jedes Mal aufgerufen, wenn der Inhalt des Eintrags geändert wird. An diese Funktion können verschiedene Argumente übergeben werden, wie die Art der Änderung (Einfügen, Löschen), der eingefügte Text, ...

def only_numbers(char):
    return char.isdigit()

validation = parent.register(only_numbers)
entry = Entry(parent, validate="key", validatecommand=(validation, '%S'))

Die validate Option bestimmt den Ereignistyp, der die Validierung auslöst. Hierbei handelt es sich um einen beliebigen Tastendruck im Eintrag. Das '%S' in der validatecommand -Option bedeutet, dass das eingefügte oder gelöschte Zeichen als Argument an die Funktion only_numbers wird. Die vollständige Liste der Möglichkeiten finden Sie hier .

Erste Schritte aus dem Entry Widget

Bei Verwendung der .get () -Methode wird alles, was sich im Eintragswiderstand befindet, in einen String umgewandelt. Unabhängig von der Art der Eingabe (es kann sich um eine Zahl oder einen Satz handeln), ist das Ergebnis eine Zeichenfolge. Wenn der Benutzer 4 eingibt, wird die Ausgabe wie in einer Zeichenfolge "4" sein. Um ein int aus einem Entry Widget zu erhalten, rufen Sie zuerst die .get () -Methode auf.

What_User_Wrote = Entry.get()

Jetzt konvertieren wir diese Zeichenfolge in eine int wie folgt:

Convert_To_Int = int(What_User_Wrote)

Wenn Sie Zeit sparen möchten, können Sie einfach Folgendes tun:

Convert_To_Int = int(Entry.get())

Sie können die obige Methode verwenden, wenn Sie str nicht in int konvertieren möchten.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow