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. StrutturaLa libreria è suddivisa nei seguenti moduli:
tkinterÈ il modulo base, fornisce un insieme di widget sotto forma di classi Python attraverso le quali è possibile costruire l'interfaccia grafica. tkinter.colorchooserContiene una classe, denominata tkinter.commondialogContiene la classe base, denominata tkinter.filedialogImplementa 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.simpledialogImplementa 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.fontContiene una classe, denominata tkinter.messageboxImplementa una serie di funzioni e classi per la generazione di avvisi o domande tramite finestre di tipo pop-up. tkinter.scrolledtextContiene una classe, denominata tkinter.dndÈ un modulo sperimentale che contiene classi e funzioni per implementare le funzionalità di drag and drop nelle applicazioni tkinter. tkinter.ttkÈ un modulo, presente dalla versione 8.5 in poi di Tk, che effettua l'override della maggior parte dei widget presenti nel modulo base, implementando anche nuove classi come ad esempio la classe tkinter.tixQuesto modulo fornisce, come suggerisce il suo nome (Tk Interface Extension), un set di widget addizionali da poter utilizzare nelle applicazioni sviluppate con tkinter. Esempi di programmiQuesto è 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()
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 si utilizza Python 2 bisogna invece scrivere from Tkinter import * # Python 2
Questo è un semplice programma in Python 3 che simula il funzionamento di un token tramite la generazione pseudocasuale di un codice a 6 cifre. Dopo 30 secondi dall'avvio, la finestra si chiude automaticamente, simulando la scadenza del codice stesso. # Importa i moduli random, tkinter e ttk
import random
import tkinter as tk
from tkinter import ttk
# Crea una finestra principale
root = tk.Tk()
root.geometry("250x90")
root.resizable(False, False)
root.title("Token")
# Crea una funzione per generare il codice
def genera_codice():
token = random.randint(100000, 999999)
token_label.config(text = str(token))
# Imposta il timer a 30 secondi
root.after(30000, root.destroy)
# Crea un'etichetta per visualizzare il codice generato
token_label = ttk.Label(root, text="", font=("Arial", 24))
token_label.pack(pady = 25)
# Chiama la funzione genera_codice()
genera_codice()
# Avvia il ciclo principale di tkinter
root.mainloop()
Voci correlateAltri progetti
Collegamenti esterni
|