Tk

« Tk: alcuni widget: comando scrollbarAppunti di Tcl/TkTk: alcuni widget: comando listbox »

comando entry

Questo widget serve per l'input e l'editing di una stringa su una sola linea di testo. È simile a text(n) e come questo per default esporta la selezione, ossia la selezione all'interno del widget coincide con la selezione della X (se non volete esportare la selezione, impostate a 0, false o no l'opzione globale -exportselection). entry(n) risponde alle azioni del mouse e ai movimenti dei tasti come descritto nella manpage nella sezione DEFAULT BINDINGS ed ha un cursore di inserzione come text(n).

un esempio di entry

È possibile editare una stringa più lunga della dimensione del widget entry(n). Come text(n) anche entry supporta l'opzione standard xscrollcommand per interagire con le scrollbar.

% entry .e
.e
% .e cget -width
20
% pack .e
% .e insert 0 "This is the entry widget content."
% .e get
This is the entry widget content.
% .e delete 24 end
% .e get
This is the entry widget

Tra le opzioni standard supportate da questo widget risulta utile -textvariable che consente di specificare il nome della variabile associata al controllo, nel senso che il valore della variabile riflette in ogni momento la stringa visualizzata nel widget entry(n): cambiando il valore della variabile tramite set(n) cambia automaticamente il contenuto del widget entry(n) col nuovo valore e viceversa editando il contenuto del widget entry(n) cambia automaticamente il valore della variabile. Se la variabile non esiste già nell'ambiente globale, viene creata da questa opzione, sempre come variabile globale.

Tra le opzioni specifiche di questo widget ricordiamo -validatecommand, che specifica uno script per validare l'input dell'utente nel widget entry (per default lo script è vuoto, ossia {}). Questo comando deve ritornare un valore booleano valido: se ritorna 0, no, false, vuol dire che l'ultima operazione di editing viene considerata invalida e non verrà effettuata. Se ritorna 1, yes, true, l'editing viene accettato. Nel primo caso (ritorno di un valore falso), viene anche eseguito il comando settato tramite l'opzione -invalidcommand. L'opzione -validate (per default vale none) consente di specificare in che momento eseguire il comando specificato tramite -validatecommand, e può assumere i valori della tabella seguente:


le modalità di validazione
modo significato
none nessuna validazione
focus valida quando la entry perde o riceve il focus
focusin valida quando la entry riceve il focus
focusout valida quando la entry perde il focus
key valida durante l'editing
all valida durante tutte le precedenti condizioni

Consultate entry(n) per alcune importanti note sulla interazione delle opzioni di validazione con l'opzione -textvariable o con l'azione di editing del contenuto di una entry all'interno del comando di validazione.

« Tk: alcuni widget: comando scrollbarAppunti di Tcl/TkTk: alcuni widget: comando listbox »