Tkinter

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Tkinter
software
GenereLibreria di Python
SviluppatoreJohn Ousterhout
Sistema operativoMultipiattaforma
LinguaggioPython
Licenzalicenza BSD
(licenza libera)
Sito webwiki.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]

Collegamenti esterni[modifica | modifica wikitesto]