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.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow