Tkinter
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 |
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.
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[modifica | modifica wikitesto]
La 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 | modifica wikitesto]
È il modulo base, fornisce un insieme di widgets sotto forma di classi Python attraverso le quali è possibile costruire l'interfaccia grafica.
tkinter.colorchooser[modifica | modifica wikitesto]
Contiene una classe, denominata Chooser
, che funge da interfaccia al color picker nativo del sistema.
tkinter.commondialog[modifica | modifica wikitesto]
Contiene la classe base, denominata Dialog
, utilizzata in altri moduli.
tkinter.filedialog[modifica | modifica wikitesto]
Implementa 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[modifica | modifica wikitesto]
Implementa 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[modifica | modifica wikitesto]
Contiene 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[modifica | modifica wikitesto]
Implementa una serie di funzioni e classi per la generazione di avvisi o domande tramite finestre di tipo pop-up.
tkinter.scrolledtext[modifica | modifica wikitesto]
Contiene 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 | modifica wikitesto]
È un modulo sperimentale che contiene classi e funzioni per implementare le funzionalità di drag and drop nelle applicazioni tkinter.
tkinter.ttk[modifica | modifica wikitesto]
È 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[modifica | modifica wikitesto]
Questo 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[modifica | modifica wikitesto]
Questo è 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[modifica | modifica wikitesto]
Altri progetti[modifica | modifica wikitesto]
- Wikimedia Commons contiene immagini o altri file su Tkinter
Collegamenti esterni[modifica | modifica wikitesto]
- (EN) Sito ufficiale, su wiki.python.org.