Tutorial Tkinter - Iscrizione

  1. Esempio di inserimento Tkinter
  2. Tkinter Entry Testo predefinito

Il widget Tkinter Entry permette all’utente di inserire una singola riga di testo che ha un solo tipo di carattere. Se sono necessarie più righe, si dovrebbe usare il widget Tkinter Text. Il widget Entry potrebbe anche essere usato per visualizzare il testo di una singola riga.

Esempio di inserimento Tkinter

Tkinter Entry_Basic.py
import tkinter as tk
from tkinter import ttk

def callbackFunc():
    resultString.set("{} - {}".format(landString.get(),
                                      cityString.get()))
     
app = tk.Tk() 
app.geometry('200x100')

labelLand = tk.Label(app,
                    text = "Country")
labelLand.grid(column=0, row=0, sticky=tk.W)
labelCity = tk.Label(app,
                    text = "City")
labelCity.grid(column=0, row=1, sticky=tk.W)

landString = tk.StringVar()
cityString = tk.StringVar()
entryLand = tk.Entry(app, width=20, textvariable=landString)
entryCity = tk.Entry(app, width=20, textvariable=cityString)

entryLand.grid(column=1, row=0, padx=10)
entryCity.grid(column=1, row=1, padx=10)


resultButton = tk.Button(app, text = 'Get Result',
                         command=callbackFunc)

resultButton.grid(column=0, row=2, pady=10, sticky=tk.W)

resultString=tk.StringVar()
resultLabel = tk.Label(app, textvariable=resultString)
resultLabel.grid(column=1, row=2, padx=10, sticky=tk.W)

app.mainloop()

Questo codice di esempio crea una GUI che l’utente può inserire il nome del paese e della città, poi visualizza le informazioni inserite dopo aver cliccato il pulsante Get Result.

Tkinter Tutorial_Entry Basic

entryLand = tk.Entry(app, width=20, textvariable=landString)

Crea un’istanza di widget di Tkinter Entry la cui larghezza è di 20 unità di caratteri. Potrebbe visualizzare solo 20 caratteri nella casella di immissione, quindi, è necessario utilizzare i tasti freccia per visualizzare il resto della riga se la riga di testo ha più di 20 caratteri.

Il testo del widget entry è assegnato ad una variabile stringa Tkinter landString. Si può ottenere il testo con il metodo landString.get(), e impostare il testo con il metodo landString.set(). Il testo nella casella di immissione si aggiorna automaticamente se si usa il metodo set().

Nota

Oltre al metodo get() di StringVar, si potrebbe anche usare il metodo get() dell’oggetto widget Entry per recuperare la stringa nel box Entry.

Tkinter Entry Testo predefinito

Abbiamo due modi per impostare il testo predefinito di Entry,

set() Metodo per impostare Tkinter Entry Testo predefinito

Come indicato nell’esempio precedente, si potrebbe usare il metodo set() di StringVar per impostare il testo predefinito di Tkinter Entry.

Per esempio,

landString.set("Netherlands")

Imposta il testo di default come Netherlands.

insert() Metodo per impostare Tkinter Entry Testo predefinito

Il metodo insert(index, string) inserisce il testo string nella posizione index data. E se index è END, aggiunge il testo al widget Entry.

entryLand.insert(tk.END, "Netherlands")

Imposta il testo predefinito come Netherlands.

Nota

Se index è più grande della lunghezza della stringa esistente nel widget, è uguale a insert(END, string).