Tutorial Tkinter - Iscrizione

Jinku Hu 3 gennaio 2023
  1. Esempio di inserimento Tkinter
  2. Tkinter Entry Testo predefinito
Tutorial Tkinter - Iscrizione

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

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).
Autore: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook