Pyhton/Pmw

Martha Lucía Gallego López mgallegol en gmail.com
Vie Mar 7 02:10:30 CET 2008


2008/3/3 Martha Lucía Gallego López <mgallegol en gmail.com>:
> Hola a todos los listeros:
>
> el siguiente código me permite introducir n datos; cada vez que
> inserto un dato me pregunta desea ingresar otro dato(SI/NO); una vez
> cliqueado NO me gustaria presentar en ventana el resultado de todos
> los valores que se introdujeron, he considerado hacerlo a través de
> listas, podrían darme alguna luz por favor de como hacerlo.
>
> Agradezco su ayuda.  Trabajo sobre la plataforma windows la version de python 2.4
>
> #El problema de este código es que me muestra el último valor
> #digitado las n veces que introduci datos; otra cosa es que si
> #destruyo la ventana donde estoy insertando datos no me #muestra nada
> de valores. Como almaceno los datos para #destruir la ventana donde
> esta el entry????
>
> cordial saludo,
>
> Martha L.
>
> ---------------------------INICIO------------------------------------------------
> from Tkinter import *
> import Pmw
> def calculo(name,index,mode):
>    global x1
>    x1= valor1.get()
>    if x1:
>        x1= float(x1)
>    else:
>        valor1.set(x1)
>        x1=0
>
> def lectura(bcerrar):
>    dialogo.deactivate(bcerrar)
>
> def continuar(res):
>    if res=='SI':
>        dialogoContinuar.deactivate(res)
>        dato1()
>    else:
>        dialogoContinuar.deactivate(res)
>        r.destroy()
>        ri=Toplevel()
>        c=0
>        for n in range(r.num):
>            Label(ri, textvariable=valor1).grid(row=c, column=0)
>
>            c=c+1
>        ri.mainloop()
> def ok():
>    dialogoContinuar.activate(geometry = 'centerscreenalways')
>
> def dato():
>    global r, dialogo, dialogoContinuar,valor1, mensajeContinuar, ldato, c2
>    r=Tk()
>    r.num=1
>    ldato=[]
>    valor1=DoubleVar()
>    valor1.set(float(0.0))
>    valor1.trace_variable("w", calculo)
>    for n in range(r.num):
>        Label(r, text='%d'%r.num, width=4).grid(row=0, column=0)
>        c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0)
>        ldato.append(c2)
>
>        Button(r, text='Continua', command=ok).grid(row=2, column=0)
>        dialogo = Pmw.MessageDialog(r,
>                                title = 'Aviso',
>                                message_text= 'No ha ingresado datos',
>                                iconpos = 'w',
>                                icon_bitmap = 'error',
>                                defaultbutton = 0,
>                                command=lectura)
>        dialogo.iconname('Aviso')
>        dialogo.withdraw()
>        dialogoContinuar= Pmw.Dialog(r,
>                                 buttons = ('SI', 'NO'),
>                                 command=continuar)
>        dialogoContinuar.withdraw()
>        mensajeContinuar= Label(dialogoContinuar.interior(),
>                            text='¿desea ingresar otro dato?',
>                            background='black',
>                            foreground='white',
>                            pady=20)
>        mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4)
>
>        r.mainloop()
>
> def dato1():
>
>    r.num=r.num+1
>    for n in range(r.num):
>        Label(r, text='%d'%r.num, width=4).grid(row=0, column=0)
>        c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0)
>
>        Button(r, text='Continua', command=ok).grid(row=2, column=0)
>        dialogo = Pmw.MessageDialog(r,
>                                title = 'Aviso',
>                                message_text= 'No ha ingresado datos',
>                                iconpos = 'w',
>                                icon_bitmap = 'error',
>                                defaultbutton = 0,
>                                command=lectura)
>        dialogo.iconname('Aviso')
>        dialogo.withdraw()
>        dialogoContinuar= Pmw.Dialog(r,
>                                 buttons = ('SI', 'NO'),
>                                 command=continuar)
>        dialogoContinuar.withdraw()
>        mensajeContinuar= Label(dialogoContinuar.interior(),
>                            text='¿desea ingresar otro dato?',
>                            background='black',
>                            foreground='white',
>                            pady=20)
>        mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4)
>
> d=dato()
> -----------------------------FIN---------------------------------------------------------
>
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es