Sto imparando a utilizzare le Tkinter. Volevo creare un semplice dizionario En - It, l'ho implementato a classi. Il problema è che non funziona!
Funziona tutto tranne l'aggiornamento dei dizionari!!!
Per piacere potete guardare? Grazie
Funziona tutto tranne l'aggiornamento dei dizionari!!!
Per piacere potete guardare? Grazie
Codice:
# -*- coding: cp1252 -*-
from Tkinter import *
import tkMessageBox as tkm
import tkSimpleDialog as tks
class GUI:
def __init__(self, master):
self.APPTITLE = "My dictionary It - En/En - It 2.01"
self.enit = {}
self.iten = {}
self.master = master
self.master.title(self.APPTITLE)
# Widgets
f = Frame(self.master)
ff = Frame(self.master)
fff = Frame(self.master)
e = Entry(f)
l = Label(f, text = "English", fg = "black")
ee = Entry(ff)
ll = Label(ff, text = "Italiano", fg = "black")
b1 = Button(fff, text = "Aggiungi a En - It")
b2 = Button(fff, text = "Aggiungi a It - En")
b4 = Button(fff, text = "Dizionari", command = lambda: self.visualizza())
b5 = Button(fff, text = "Ricerca", command = lambda: self.ricerca())
b3 = Button(fff, text = "Uscita", command = lambda: self.uscita())
# Packing
f.pack()
ff.pack()
fff.pack()
e.grid(row = 0, column = 1)
l.grid(row = 0, column = 0)
ee.grid(row = 0, column = 1)
ll.grid(row = 0, column = 0)
b1.grid(row = 0, column = 0)
b2.grid(row = 0, column = 1)
b4.grid(row = 1, column = 0)
b5.grid(row = 1, column = 1)
b3.grid(row = 1, column = 2)
def addEn(self):
self.enit[e.get()] = ee.get()
def addIt(self):
self.iten[ee.get()] = e.get()
def visualizza(self):
# Creating a new window
# Widgets
top = Tk()
f = Frame(top)
ff = Frame(top)
t = Text(f, fg = "black", bg = "white")
b = Button(ff, text = "Ok", command = top.destroy)
# Packing
f.pack()
ff.pack()
t.pack()
b.pack()
# View dictionaries
t.insert(END, "Dizionario En - It:\n")
t.insert(END, self.enit)
t.insert(END, "\n")
t.insert(END, "Dizionario It - En:\n")
t.insert(END, self.iten)
def ricerca(self):
# Start a new search
try:
tkm.showinfo(self.APPTITLE, str(self.enit[tks.askstring("Ricerca", "Parola da cercare:")]))
except KeyError:
tkm.showinfo(self.APPTITLE, "La parola non è stata trovata nel dizionario En - It.\nOra sarà effettuata una ricerca in quello It - En")
try:
tkm.showinfo(self.APPTITLE, str(self.iten[tks.askstring("Ricerca", "Parola da cercare:")]))
except KeyError:
tkm.showwarning(self.APPTITLE, "La parola non è stata trovata nemmeno nel dizionario It - En")
def uscita(self):
# Exit
if tkm.askyesno(self.APPTITLE, "Vuoi davvero uscire?"):
self.master.destroy()
if __name__ == "__main__":
root = Tk()
app = GUI(root)
root.mainloop()