tkinter
Tkinter Entry Widget
Sök…
Syntax
- post = tk.Entry ( moder , ** kwargs )
- entry.get ()
- entry.insert (index, "värde")
- entry.delete (start_index, end_index)
- entry.bind (händelse, återuppringning)
parametrar
Parameter | Beskrivning |
---|---|
förälder | tkinter-widgetar finns i en hieararchy. Förutom rotfönstret har alla widgetar en förälder. Vissa onlinestudier kallar den här "master". När widgeten läggs till på skärmen med pack , place eller grid visas den i denna överordnade widget |
bredd | Bredden anger den önskade bredden på widgeten baserat på en genomsnittlig teckenbredd. För typsnitt med variabel bredd baseras detta på bredden på nolltecknet ( 0 ). Standard är 20. Observera att den faktiska bredden kan vara större eller mindre beroende på hur den läggs till på skärmen. |
Anmärkningar
Dessa exempel antar att tkinter har importerats med antingen import tkinter as tk
(python 3) eller import Tkinter as tk
(python 2).
Skapa en inmatningswidget och ställa in ett standardvärde
entry = tk.Entry(parent, width=10)
entry.insert(0, "Hello, World!")
Få värdet på en postwidget
Värdet på en postwidget kan erhållas med widgeten get
metoden:
name_entry = tk.Entry(parent)
...
name = name_entry.get()
Eventuellt kan du associera en instans av en StringVar
och hämta värdet från StringVar
snarare än från widgeten:
name_var = tk.StringVar()
name_entry = tk.Entry(parent, textvariable=name_var)
...
name = name_var.get()
Lägga till validering i en postwidget
För att begränsa de tecken som kan skrivas in i en postwidget, kan endast nummer till exempel, ett validerat kommando läggas till posten. Ett validerat kommando är en funktion som returnerar True
om ändringen accepteras, False
annars. Denna funktion kommer att anropas varje gång innehållet i posten ändras. Olika argument kan skickas till den här funktionen, som typen av ändring (infogning, radering), den infogade texten, ...
def only_numbers(char):
return char.isdigit()
validation = parent.register(only_numbers)
entry = Entry(parent, validate="key", validatecommand=(validation, '%S'))
validate
bestämmer vilken typ av händelse som utlöser valideringen, här är det valfri tangenttryckning i posten. Alternativet '%S'
i valet validerad kommando betyder att det infogade eller raderade tecknet skickas i argument till funktionen only_numbers
. Den fullständiga listan över möjligheter finns här .
Få intag från posten widget
När du använder metoden .get () kommer allt som finns i post-widgeten att konverteras till en sträng. Till exempel, oavsett typ av ingång (det kan vara ett tal eller en mening), kommer resultatet att bli en sträng. Om användaren skriver 4 kommer utgången att vara "4" som i en sträng. För att få en int från en Entry Widget, ring först metoden .get ().
What_User_Wrote = Entry.get()
Nu konverterar vi den strängen till en int som så:
Convert_To_Int = int(What_User_Wrote)
På samma sätt, om du vill spara tid kan du helt enkelt göra:
Convert_To_Int = int(Entry.get())
Du kan använda metoden ovan om du inte vill konvertera str till int.