Pitone

Come creare un'applicazione Hello World in Python usando Tkinter

Come creare un'applicazione Hello World in Python usando Tkinter

Il modulo Tkinter o "TK Interface" fornisce varie classi e funzioni per creare applicazioni grafiche multipiattaforma in Python utilizzando il framework "Tk UI". Tkinter è incluso nei moduli predefiniti forniti con le build Python, anche se è gestito da ActiveState. È uno dei toolkit GUI più popolari disponibili per Python, utile sia per creare prototipi veloci che per lo sviluppo di applicazioni a tutti gli effetti. Questo articolo tratta una guida sull'installazione di Tkinter in Linux, alcuni esempi di codice e la loro spiegazione per creare una semplice applicazione "Hello World".

Installazione di Tkinter

Puoi installare Tkinter per Python 3 in Ubuntu eseguendo il comando specificato di seguito:

$ sudo apt install python3-tk

Tkinter può essere installato in altre distribuzioni basate su Linux dal gestore di pacchetti. Puoi anche installare i pacchetti Tkinter in Linux seguendo le istruzioni di installazione disponibili qui.

Per verificare che Tkinter sia stato installato correttamente sul tuo sistema, esegui il comando indicato di seguito:

$ python3 -m tkinter

Se Tkinter è stato installato correttamente, dovresti vedere una finestra GUI come questa:

Puoi anche usare un interprete Python per verificare l'installazione di Tkinter. Eseguire i seguenti comandi in successione per farlo (gli ultimi due comandi verranno eseguiti nell'interprete Python):

$ pitone3
importare tkinter
stampa (tkinter.Versione Tcl)

Creazione di un'applicazione Hello World utilizzando Tkinter

Puoi creare una semplice applicazione che mostri “Hello World !!” stringa utilizzando l'esempio di codice specificato di seguito:

dall'importazione di tkinter *
radice = Tk()
radice.titolo("Ciao mondo")
main_string = Label(root, text="Hello World !!")
main_string.pacchetto()
radice.ciclo principale()

La prima istruzione nell'esempio di codice sopra importa le funzioni necessarie dal modulo Tkinter. Invece di importare funzioni specifiche, tutto viene importato in una volta usando il carattere "*" (asterisco). Successivamente, viene definita l'applicazione principale o la finestra principale e viene impostato un titolo "Hello World" per essa. Un nuovo widget etichetta che mostra "Hello World !!"La stringa viene creata nell'istruzione successiva. Il metodo "pack" viene utilizzato per ridimensionare e far corrispondere automaticamente l'area della finestra con la posizione e l'area del widget senza interrompere la visibilità del widget poiché non è specificata alcuna geometria. Infine, viene eseguito il ciclo dell'evento principale che ascolta gli eventi dell'utente come le azioni di input da tastiera e mouse. Una volta che il ciclo principale è stato eseguito correttamente, dovresti vedere una finestra dell'applicazione come questa:


Notare che il titolo dell'applicazione non è completamente visualizzato nella barra del titolo. Il metodo "pack" senza argomenti adatta automaticamente la finestra principale dell'applicazione all'area dei widget visibili. Poiché la finestra dell'applicazione è troppo piccola, è possibile specificarne manualmente le dimensioni utilizzando il metodo "geometria" per impedire l'adattamento automatico.

dall'importazione di tkinter *
radice = Tk()
radice.titolo("Ciao mondo")
radice.geometria("640x480")
main_string = Label(root, text="Hello World !!")
stringa_principale.pacchetto()
radice.ciclo principale()

Puoi anche aggiungere un argomento di riempimento al metodo pack utilizzato per il widget etichetta per aumentare l'area della finestra principale dell'applicazione allungando il widget.

dall'importazione di tkinter *
radice = Tk()
radice.titolo("Ciao mondo")
main_string = Label(root, text="Hello World !!")
main_string.pack(padx=50, pady=50)
radice.ciclo principale()

I due argomenti, "padx" e "pady" specificano rispettivamente la spaziatura orizzontale e verticale su entrambi i lati del widget.

Il metodo Pack è uno dei metodi più importanti che utilizzerai durante la creazione di interfacce utente utilizzando la libreria Tkinter. I widget non appariranno nel frame principale dell'applicazione a meno che non chiami il metodo pack su ogni widget che hai definito nel codice. Puoi usare il metodo pack per definire la geometria e la posizione dinamica e fissa dei widget. I widget possono essere impacchettati l'uno nell'altro per creare anche widget annidati. Puoi leggere di più sul metodo pack e alcuni altri esempi a riguardo dal suo riferimento di utilizzo.

Ulteriori letture

Per saperne di più sull'API di Tkinter puoi usare una guida disponibile nella documentazione ufficiale di Python. TkDocs offre un eccellente tutorial che può aiutarti a creare la tua prima app Tkinter anche se la guida potrebbe essere un po' complessa per i principianti assoluti. Puoi trovare manuali ufficiali di Tkinter che includono definizioni ed esempi API sul sito web di Tcl Developer Xchange. La pagina Tkinter di Python Wiki presenta numerosi collegamenti che possono aiutarti a iniziare.

Conclusione

Questo articolo copre solo un semplice esempio per iniziare con le applicazioni Tkinter. Puoi creare GUI avanzate usando Tkinter, ma per applicazioni che richiedono elementi di interfaccia utente complessi, molti sviluppatori preferiscono PyQt su Tkinter. PyQt dispone anche di più widget integrati rispetto a Tkinter, inclusa una suite grafica per la progettazione di applicazioni utilizzando azioni di trascinamento della selezione.

Come utilizzare Xdotool per stimolare i clic del mouse e le sequenze di tasti in Linux
Xdotool è uno strumento da riga di comando gratuito e open source per simulare i clic del mouse e le sequenze di tasti. Questo articolo tratterà una b...
I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...