Introduzione delle basi della libreria tkinter python. Per creare un programma con un interfaccia grafica ovvero la classica finestra con i pulsanti, immagini ,caselle e tutto il resto, tutti questi strumenti gli possiamo trovare nella libreria di tkinter . Questa interfaccia viene chiamata in inglese GUI (Grafical User Interface )
Nota : tkinter non è l’unica libreria che può dare un interfaccia grafica GUI . Per installare la libreria, assicurati di essere connesso a internet , su CMD (Prompt dei comandi ) incollare :
python -m pip install tk
Questo articolo fa parte della serie del tutorial gratuito python a modo mio creato soprattutto per chi di python ne sa poco o niente .
La classica finestra
Nota: Per testare il codice aprire CMD digitare “python” e tasto ENTER. Copiare/incollare il codice riga per riga per non inciampare in qualche errore:
from tkinter import *
finestra = Tk()
finestra.mainloop()
Domanda: Del esempio di sopra hai capito qualcosa , funziona?
- NO (la libreria di tkinter è installata? Non proseguire senza risolvere il problema…)
- SI (prosegui pure con l’articolo non dovresti avere problemi… )
Pulsante/Bottone “Button()”
Per fare l’esempio di un pulsante chiaramente andrà al interno di una finestra di conseguenza il suo codice viene aggiunto al codice di sopra . Finestra + pulsante:
from tkinter import *
finestra = Tk()
pulsante = Button(finestra, text="premi").grid(row=0, column=0)
finestra.mainloop()
Nota : Per posizionare il pulsante si e utilizzato la tecnica della griglia
Testo/Etichetta “Label()”
from tkinter import *
finestra = Tk()
testo = Label(finestra, text="BLOG DI GENTI").grid(row=0, column=0)
finestra.mainloop()
Casella/area inserimento dati “Entry”
from tkinter import *
finestra = Tk()
casella = Entry(finestra).grid(row=0, column=0)
finestra.mainloop()
Dividere la finestra in gruppi/riquadri Frame() e LabelFrame()
from tkinter import *
finestra = Tk()
fra=Frame(finestra,bg="orange", height = 150, width = 120).grid(row=0, column=0)
fra2=LabelFrame(finestra,text="gruppo2",bg="green",height=120,width=150)
fra2.grid(row=0, column=1)
finestra.mainloop()
Area di testo Text() ( libreria tkinter python )
from tkinter import *
finestra = Tk()
area=Text(finestra, height = 5, width = 52).grid(row=0, column=1)
finestra.mainloop()
Pulsante con selezione Checkbutton()
from tkinter import *
finestra = Tk()
Button1 = Checkbutton(finestra, text = "Tutorial").grid(row=0, column=0)
finestra.mainloop()
Menu/pulsante a tendina Combobox()
from tkinter import *
from tkinter import ttkfinestra = Tk()
tendina=ttk.Combobox(finestra,values=["A","B","C"]).grid(row=0, column=0)
finestra.mainloop()
Finestra di notifica messagebox()
python
from tkinter import *
from tkinter import messagebox
finestra = Tk()
messagebox.askyesno(title="Attenzione",message="sei nel blog di genti",detail="nota")
finestra.mainloop()
Il menu primario Menu()
from tkinter import *
finestra = Tk()
main_menu = Menu(finestra)
finestra.config(menu=main_menu)
main_menu.add_cascade(label="Notes")
main_menu.add_cascade(label="Help")
finestra.mainloop()