« Tk: alcuni widget: comando scrollbar • Appunti di Tcl/Tk • Tk: alcuni widget: comando listbox »
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).
È 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:
| 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 scrollbar • Appunti di Tcl/Tk • Tk: alcuni widget: comando listbox »