Tkinter
Tkinter (Tk-interface) è una libreria, facente parte della standard library di Python, utilizzata per lo sviluppo di software che necessitano di un'interfaccia grafica. La libreria è implementata come wrapper delle librerie Tcl/Tk e viene fornita completa dell'Interprete Tcl, integrato, a sua volta, nell'interprete Python.
Tkinter software | |
---|---|
Genere | Libreria di Python |
Sviluppatore | John Ousterhout |
Sistema operativo | Multipiattaforma |
Linguaggio | Python |
Licenza | licenza BSD (licenza libera) |
Sito web | wiki.python.org/moin/TkInter |
Nonostante lo stesso creatore di Python, Guido van Rossum, abbia ammesso che librerie come le wxPython siano migliori, le Tkinter mantengono comunque un primato di leggerezza e stabilità e per questo si sono aggiudicate il loro prestigioso posto.
Struttura
modificaLa libreria è suddivisa nei seguenti moduli:
tkinter
tkinter.colorchooser
tkinter.commondialog
tkinter.filedialog
tkinter.simpledialog
tkinter.font
tkinter.messagebox
tkinter.scrolledtext
tkinter.dnd
tkinter.ttk
tkinter.tix
tkinter
modificaÈ il modulo base, fornisce un insieme di widgets sotto forma di classi Python attraverso le quali è possibile costruire l'interfaccia grafica.
tkinter.colorchooser
modificaContiene una classe, denominata Chooser
, che funge da interfaccia al color picker nativo del sistema.
tkinter.commondialog
modificaContiene la classe base, denominata Dialog
, utilizzata in altri moduli.
tkinter.filedialog
modificaImplementa una serie di funzioni e classi per la selezione di file e cartelle sia tramite l'emulazione di finestre native del sistema che non native.
tkinter.simpledialog
modificaImplementa una serie di funzioni e classi per ottenere un valore tipizzato (intero, virgola mobile o stringa) in input dall'utente mediante una finestra di dialogo pop-up.
tkinter.font
modificaContiene una classe, denominata Font
, utilizzata per specificare la tipologia e lo stile del font da applicare su uno o più widgets, a patto, ovviamente, che il widget supporti tale funzionalità.
tkinter.messagebox
modificaImplementa una serie di funzioni e classi per la generazione di avvisi o domande tramite finestre di tipo pop-up.
tkinter.scrolledtext
modificaContiene una classe, denominata ScrolledText
, utilizzata per permettere la visualizzazione di testi molto lunghi che, senza l'utilizzo di tale classe, non sarebbero completamente visibili.
tkinter.dnd
modificaÈ un modulo sperimentale che contiene classi e funzioni per implementare le funzionalità di drag and drop nelle applicazioni tkinter.
tkinter.ttk
modificaÈ un modulo, presente dalla versione 8.5 in poi di Tk, che effettua l'override della maggior parte dei widgets presenti nel modulo base, implementando anche nuove classi come ad esempio la classe Style
. Lo scopo del modulo ttk
è di far ottenere un aspetto più moderno alle applicazioni create tramite tkinter.
tkinter.tix
modificaQuesto modulo fornisce, come suggerisce il suo nome (Tk Interface Extension), un set di widgets addizionali da poter utilizzare nelle applicazioni sviluppate con tkinter.
Esempi di programmi
modificaQuesto è un semplice programma in Python 3 che crea una finestra con un'etichetta "Hello World!".
from tkinter import *
root = Tk()
hello_label = Label(root, text="Hello World!")
hello_label.pack()
root.mainloop()
Questo è un semplice programma scritto in Python 3 con 2 bottoni, uno per uscire dall'applicazione e l'altro, se premuto, scrive "Ciao a tutti!".
from tkinter import * # Python 3
class App:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.button = Button(frame, text="Esci", fg="red", command=master.destroy)
self.button.pack(side=LEFT)
self.hi_there = Button(frame, text="Ciao a tutti!", command=self.say_hi)
self.hi_there.pack(side=LEFT)
def say_hi(self):
print("Ciao a tutti!")
root = Tk()
app = App(root)
root.mainloop()
Se state usando Python 2, dovete usare:
from Tkinter import * # Python 2
Voci correlate
modificaAltri progetti
modifica- Wikimedia Commons contiene immagini o altri file su Tkinter
Collegamenti esterni
modifica- (EN) Sito ufficiale, su wiki.python.org.