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.