Ricerca…


Sintassi

  • entry = tk.Entry ( parent , ** kwargs )
  • entry.get ()
  • entry.insert (index, "valore")
  • entry.delete (start_index, end_index)
  • entry.bind (evento, callback)

Parametri

Parametro Descrizione
genitore i widget tkinter esistono in una struttura gerarchica. Ad eccezione della finestra radice, tutti i widget hanno un genitore. Alcuni tutorial online chiamano questo "master". Quando il widget viene aggiunto allo schermo con pack , place o grid , apparirà all'interno di questo widget genitore
larghezza La larghezza specifica la larghezza desiderata del widget in base alla larghezza media di un carattere. Per i caratteri a larghezza variabile, questo è basato sulla larghezza del carattere zero ( 0 ). Il valore predefinito è 20. Si noti che la larghezza effettiva potrebbe essere maggiore o minore a seconda di come viene aggiunta allo schermo.

Osservazioni

Questi esempi presuppongono che tkinter sia stato importato con import tkinter as tk (python 3) o import Tkinter as tk (python 2).

Creazione di un widget di voce e impostazione di un valore predefinito

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

Ottenere il valore di un widget Entry

Il valore di un widget voce può essere ottenuto con il metodo get del widget:

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

Facoltativamente, è possibile associare un'istanza di StringVar e recuperare il valore dallo StringVar anziché dal widget:

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

Aggiunta di convalida a un widget di voce

Per limitare i caratteri che possono essere digitati in un widget di voci, solo i numeri, ad esempio, un comando di convalida può essere aggiunto alla voce. Un comando di convalida è una funzione che restituisce True se la modifica è accettata, False altrimenti. Questa funzione sarà chiamata ogni volta che il contenuto della voce viene modificato. Vari argomenti possono essere passati a questa funzione, come il tipo di modifica (inserimento, cancellazione), il testo inserito, ...

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

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

L'opzione di validate determina il tipo di evento che attiva la convalida, in questo caso è presente un qualsiasi tasto nella voce. Il '%S' nell'opzione validatecommand significa che il carattere inserito o eliminato viene passato in argomento alla funzione only_numbers . L'elenco completo delle possibilità può essere trovato qui .

Getting int From Entry Widget

Quando si usa il metodo .get (), qualunque cosa sia nel widget di voce verrà convertito in una stringa. Ad esempio, indipendentemente dal tipo di input (può essere un numero o una frase), il risultato risultante sarà una stringa. Se l'utente digita 4 l'output sarà "4" come in una stringa. Per ottenere un int da un Entry Widget, prima chiama il metodo .get ().

What_User_Wrote = Entry.get()

Ora convertiamo quella stringa in un int come:

Convert_To_Int = int(What_User_Wrote)

Allo stesso modo, se vuoi risparmiare tempo puoi semplicemente fare:

Convert_To_Int = int(Entry.get())

È possibile utilizzare il metodo precedente se non si desidera convertire str in int.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow