import tkinter
import random
class App(tkinter.Frame):
def __init__(self, radice):
"""Costruttore"""
super().__init__(radice)
self.radice=radice
self.pack()
fLogico=open('italiano.txt', 'r')
self.elencoParole=fLogico.readlines()
fLogico.close()
self.inizializzaComponenti()
def inizializzaComponenti(self):
"""Crea i componenti nella finestra"""
mioFont='courier 12'
#lab1
self.lab1=tkinter.Label(text='Quante parole ? ',height=1, width=18, font= mioFont, justify='left')
self.lab1.place(x=5, y=12)
#textQuanteParole
self.textQuanteParole=tkinter.Text(width=6, height=1, font=mioFont)
self.textQuanteParole.place(x=180, y=12)
self.textQuanteParole.insert('1.0', '1')
#btnGenera
self.btnGenera=tkinter.Button(text='Genera', width=8, height=1, font=mioFont, command=self.generaParole)
self.btnGenera.place(x=280, y=10)
#labParole
self.labParole=tkinter.Label(text='', font=mioFont, justify='left')
self.labParole.place(x=5, y=45);
self.radice.title('Generatore casuale di parole')
self.radice.geometry('420x450')
def generaParole(self):
"""Genera parole casuale"""
try:
parole=int(self.textQuanteParole.get('1.0', tkinter.END))
except:
self.labParole['text']='Sono ammessi solo numeri interi.\n'
self.textQuanteParole.delete('1.0', tkinter.END)
return
if (parole <= 0) or (parole >20):
self.labParole['text']='\nE\' possibile generare fino a 20 parole.'
self.textQuanteParole.delete('1.0', tkinter.END)
return
self.labParole['text']=''
for i in range(0, parole):
self.labParole['text']="%s%s" %(self.labParole['text'], self.elencoParole[random.randint(0, len(self.elencoParole))])