Stanchi di dover stampare tutto sulla console del nostro Python? Volete aggiungere un po’ di grafica ai vostri software? Con Python è semplicissimo e non serve scomodare ambienti IDE visuali poiché inserire bottoni e relative funzioni è semplice ed intuitivo.
Diamo un’occhiata al codice qui riportato e commentato. Seguiranno altri script esemplificativi con grado di difficoltà crescente. Al lettore sperimentare e modificare lo script per meglio comprendere le possibilità.
Ovviamente, questo codice non può essere provato su Repl.it o altri ide online. Tocca sperimentarlo su un ide in locale come PyCharm o un semplice IDLE.
import tkinter as tk
#inizializziamo globalmente la finestra
window = tk.Tk()
window.geometry("500x500")
window.title("GUI con TkInter!")
# window.resizable(False, False)
# window.configure(background="white")
#dichiariamo le funzione scatenate al click
#potremmo metterle in un file a parte e suddividere grafica da logica?
def firstprint():
text = "Hello World!"
text_output = tk.Label(window, text=text, fg="red", font=("Arial", 16))
text_output.grid(row=0, column=1, sticky="W")
def secondprint():
text = "Un altro messaggio!"
text_output = tk.Label(window, text=text, fg="green", font=("Arial", 16))
text_output.grid(row=1, column=1, padx=50, sticky="W")
#creiamo i bottoni
first_button = tk.Button(text="Hello!", command=firstprint)
first_button.grid(row=0, column=0, sticky="W")
second_button = tk.Button(text="Altro bottone", command=secondprint)
second_button.grid(row=1, column=0, padx=5, pady=10, sticky="W")
'''
il metodo grid crea una sorta di griglia righe/colonne per allineare
gli oggetti anche senza un editor grafico. L'opzione "sticky" può
assumere i valori N, S, E, W per allineare, mentre pady è il padding verticale
della cella per mettere un po' di spazio tra i bottoni.
Analogamente padx, il riempimento orizzontale
Prova a modificare i valori per vedere come varia la finestra
'''
if __name__ == "__main__":
window.mainloop()
Ultima modifica 30 Gennaio 2022