[Python] menu a tendina
lorenzo
renzocavallini a alice.it
Mar 30 Gen 2007 18:39:30 CET
salve a tutti
da pochissimi giorni ho iniziato l'approccio con python
per la cronaca mi sono gia letto la guida di introduzione con non molte
difficoltà provengo da un approccio con il gwbasic del vecchio dos 5.2 e di
gambas (visual basic per unix)
mi sono cimentato in 2 programmini molto semplici ma ho delle lacune enormi e
tanti problemi
1) non conosco la lingua inglese e molti manuali non esistono in italiano
2) l'help di python è in inglese
3)nelle introduzioni che ho letto non si parla mai di interfacce grafiche
sbirciando qua e la tra i codici sono riuscito a fare il programmino allegato
se qualcuno ha un pò di tempo e voglia potrebbe spiegarmi come posso fare a
creare un menu in una finestra e a metterci un immagine
P.S io conosco la lib tkinter ma da tutte le parti trovo scritto che non
esiste una traduzione è vero?
in questa libreria ci sono tutti gli oggetti che sono abituato ad usare con
gambas
grazie di tutto (mi avevano detto che il basic non era un gran che maq questo
è un casino!!)
from Tkinter import *
import random
class valore:
"""definizione di variabili"""
risultato= 0
vtext=''
idbt=''
tabellina=1
moltiplicatore=0
indice=[1,0,0,0,0,0,0,0,0,0,0]
conttab=0
def numero():
"""assegnazione random del numero"""
cont='s'
a=0
while cont == 's':
a=random.randrange(11)
if valore.conttab == 10 :
cont = 'n'
if valore.indice[a] == 0 :
valore.moltiplicatore=a
valore.indice[a] = 1
cont = 'n'
valore.conttab =valore.conttab +1
return 1
def reset():
valore.conttab=0
valore.indice[1]=0
valore.indice[2]=0
valore.indice[3]=0
valore.indice[4]=0
valore.indice[5]=0
valore.indice[6]=0
valore.indice[7]=0
valore.indice[8]=0
valore.indice[9]=0
valore.indice[10]=0
class tester():
"""definizione della form"""
def __init__(self):
self.__root = tk = Tk()
self.__root.title('mia')
self.__root.maxsize(1000,400)
self.__root.minsize (800, 300)
label2 = Label(tk,bg='white',fg='red',text='tabellina del ')
label2.place(x=150,y=10,height=20,width=100)
self.btabellina = Button(tk, text='1', command=self.__clikbuttontabellina)
self.btabellina.place(x=250,y=0,height=40,width=40)
label3 = Label(tk,bg='white',fg='red',text='clik per sel la tabellina')
label3.place(x=300,y=10,height=20,width=100)
self.label1 = Label(tk,relief=SUNKEN,bg='white',fg='red',text='scegli la
tabellina')
self.label1.place(x=10,y=10,height=20,width=130)
b1 = Button(tk, text='1', command=self.__clikbutton1)
b1.place(x=10,y=40,height=40,width=40)
b2 = Button(tk, text='2', command=self.__clikbutton2)
b2.place(x=50,y=40,height=40,width=40)
b3 = Button(tk, text='3', command=self.__clikbutton3)
b3.place(x=90,y=40,height=40,width=40)
b4 = Button(tk, text='4', command=self.__clikbutton4)
b4.place(x=10,y=80,height=40,width=40)
b5 = Button(tk, text='5', command=self.__clikbutton5)
b5.place(x=50,y=80,height=40,width=40)
b6 = Button(tk, text='6', command=self.__clikbutton6)
b6.place(x=90,y=80,height=40,width=40)
b7 = Button(tk, text='7', command=self.__clikbutton7)
b7.place(x=10,y=120,height=40,width=40)
b8 = Button(tk, text='8', command=self.__clikbutton8)
b8.place(x=50,y=120,height=40,width=40)
b9 = Button(tk, text='9', command=self.__clikbutton9)
b9.place(x=90,y=120,height=40,width=40)
b0 = Button(tk, text='0', command=self.__clikbutton0)
b0.place(x=10,y=160,height=40,width=40)
bcls = Button(tk, text='c', command=self.__clikbuttoncls)
bcls.place(x=50,y=160,height=40,width=40)
bok = Button(tk, text='ok', command=self.__clikbuttonok)
bok.place(x=90,y=160,height=40,width=40)
self.lt1 = Label(tk,bg='white',fg='red',text='1x1')
self.lt1.place(x=210,y=90,height=20,width=40)
self.bt1 = Button(tk, text='', command=self.__clikbutton1)
self.bt1.place(x=210,y=110,height=40,width=40)
self.lt2 = Label(tk,bg='white',fg='red',text='1x2')
self.lt2.place(x=250,y=90,height=20,width=40)
self.bt2 = Button(tk, text='', command=self.__clikbutton1)
self.bt2.place(x=250,y=110,height=40,width=40)
self.lt3 = Label(tk,bg='white',fg='red',text='1x3')
self.lt3.place(x=290,y=90,height=20,width=40)
self.bt3 = Button(tk, text='', command=self.__clikbutton1)
self.bt3.place(x=290,y=110,height=40,width=40)
self.lt4 = Label(tk,bg='white',fg='red',text='1x4')
self.lt4.place(x=330,y=90,height=20,width=40)
self.bt4 = Button(tk, text='', command=self.__clikbutton1)
self.bt4.place(x=330,y=110,height=40,width=40)
self.lt5 = Label(tk,bg='white',fg='red',text='1x5')
self.lt5.place(x=370,y=90,height=20,width=40)
self.bt5 = Button(tk, text='', command=self.__clikbutton1)
self.bt5.place(x=370,y=110,height=40,width=40)
self.lt6 = Label(tk,bg='white',fg='red',text='1x6')
self.lt6.place(x=410,y=90,height=20,width=40)
self.bt6 = Button(tk, text='', command=self.__clikbutton1)
self.bt6.place(x=410,y=110,height=40,width=40)
self.lt7 = Label(tk,bg='white',fg='red',text='1x7')
self.lt7.place(x=450,y=90,height=20,width=40)
self.bt7 = Button(tk, text='', command=self.__clikbutton1)
self.bt7.place(x=450,y=110,height=40,width=40)
self.lt8 = Label(tk,bg='white',fg='red',text='1x8')
self.lt8.place(x=490,y=90,height=20,width=40)
self.bt8 = Button(tk, text='', command=self.__clikbutton1)
self.bt8.place(x=490,y=110,height=40,width=40)
self.lt9 = Label(tk,bg='white',fg='red',text='1x9')
self.lt9.place(x=530,y=90,height=20,width=40)
self.bt9 = Button(tk, text='', command=self.__clikbutton1)
self.bt9.place(x=530,y=110,height=40,width=40)
self.lt10 = Label(tk,bg='white',fg='red',text='1x10')
self.lt10.place(x=570,y=90,height=20,width=40)
self.bt10 = Button(tk, text='', command=self.__clikbutton1)
self.bt10.place(x=570,y=110,height=40,width=40)
self.lt11 = Label(tk,bg='white',fg='red',text='1x10')
self.lt11.place(x=210,y=160,height=40,width=80)
def __clikbutton1(self, event=None):
text = valore.vtext+'1'
valore.vtext = text
self.label1.configure(text=text,fg='blue')
def __clikbutton2(self, event=None):
text = valore.vtext+'2'
valore.vtext = text
self.label1.configure(text=text,fg='blue')
def __clikbutton3(self, event=None):
text = valore.vtext+'3'
valore.vtext = text
self.label1.configure(text=text,fg='blue')
def __clikbutton4(self, event=None):
text = valore.vtext+'4'
valore.vtext = text
self.label1.configure(text=text,fg='blue')
def __clikbutton5(self, event=None):
text = valore.vtext+'5'
valore.vtext = text
self.label1.configure(text=text,fg='blue')
def __clikbutton6(self, event=None):
text = valore.vtext+'6'
valore.vtext = text
self.label1.configure(text=text,fg='blue')
def __clikbutton7(self, event=None):
text = valore.vtext+'7'
valore.vtext = text
self.label1.configure(text=text,fg='blue')
def __clikbutton8(self, event=None):
text = valore.vtext+'8'
valore.vtext = text
self.label1.configure(text=text,fg='blue')
def __clikbutton9(self, event=None):
text = valore.vtext+'9'
valore.vtext = text
self.label1.configure(text=text,fg='blue')
def __clikbutton0(self, event=None):
text = valore.vtext+'0'
valore.vtext = text
self.label1.configure(text=text,fg='blue')
def __clikbuttoncls(self, event=None):
text = ''
valore.vtext = text
self.label1.configure(text=text,fg='blue')
def __clikbuttontabellina(self, event=None):
reset()
valore.tabellina=valore.tabellina+1
if valore.tabellina==10 :
valore.tabellina=1
self.lt1.configure(text=str(valore.tabellina)+'x1')
self.lt2.configure(text=str(valore.tabellina)+'x2')
self.lt3.configure(text=str(valore.tabellina)+'x3')
self.lt4.configure(text=str(valore.tabellina)+'x4')
self.lt5.configure(text=str(valore.tabellina)+'x5')
self.lt6.configure(text=str(valore.tabellina)+'x6')
self.lt7.configure(text=str(valore.tabellina)+'x7')
self.lt8.configure(text=str(valore.tabellina)+'x8')
self.lt9.configure(text=str(valore.tabellina)+'x9')
self.lt10.configure(text=str(valore.tabellina)+'x10')
self.bt1.configure(text='')
self.bt2.configure(text='')
self.bt3.configure(text='')
self.bt4.configure(text='')
self.bt5.configure(text='')
self.bt6.configure(text='')
self.btabellina.configure(text=str(valore.tabellina))
numero()
self.lt11.configure(text=str(valore.tabellina)+'x'+
str(valore.moltiplicatore))
def __clikbuttonok(self, event=None) :
valore.risultato=valore.moltiplicatore*valore.tabellina
if valore.vtext == str(valore.risultato):
if valore.moltiplicatore == 1:
self.bt1.configure(text=str(valore.risultato))
elif valore.moltiplicatore == 2:
self.bt2.configure(text=str(valore.risultato))
elif valore.moltiplicatore == 3:
self.bt3.configure(text=str(valore.risultato))
elif valore.moltiplicatore == 4:
self.bt4.configure(text=str(valore.risultato))
elif valore.moltiplicatore == 5:
self.bt5.configure(text=str(valore.risultato))
elif valore.moltiplicatore == 6:
self.bt6.configure(text=str(valore.risultato))
elif valore.moltiplicatore == 7:
self.bt7.configure(text=str(valore.risultato))
elif valore.moltiplicatore == 8:
self.bt8.configure(text=str(valore.risultato))
elif valore.moltiplicatore == 9:
self.bt9.configure(text=str(valore.risultato))
elif valore.moltiplicatore == 10:
self.bt10.configure(text=str(valore.risultato))
numero()
text=''
valore.vtext=text
self.label1.configure(text=text,fg='blue')
self.lt11.configure(text=str(valore.tabellina)+'x'+str(valore.moltiplicatore))
elif valore.vtext <> str(valore.risultato):
valore.vtext=''
self.label1.configure(text='errore',fg='blue')
def run(self):
self.__root.mainloop()
t = tester()
t.run()
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: pu.py
Tipo: application/x-python
Dimensione: 8727 bytes
Descrizione: non disponibile
Url: http://lists.python.it/pipermail/python/attachments/20070130/cc98112a/pu.bin
Maggiori informazioni sulla lista
Python