[pyar] Consulta Tkinter
Lucas
rollbak en gmail.com
Mar Abr 15 13:55:32 ART 2014
2014-04-15 13:38 GMT-03:00 patricio tula <tula.patricio en gmail.com>:
> No encuentro el error. Lo leo y releo pero no lo encuentro.
> Adjunto el código entero.
>
>
>
> 2014-04-15 13:14 GMT-03:00 Lucas <rollbak en gmail.com>:
>
> 2014-04-15 13:02 GMT-03:00 patricio tula <tula.patricio en gmail.com>:
>>
>> Ahi va una captura. La ventana esta vacio u en terminal no escribio nada.
>>> Estoy usando Python 2.7.3, será por eso?
>>> Ahi va el archivo en dropbox:
>>> https://www.dropbox.com/s/9i6rgejx52k50n7/Tkinter.png
>>>
>>>
>>>
>>> 2014-04-15 12:53 GMT-03:00 patricio tula <tula.patricio en gmail.com>:
>>>
>>>> Ahi va una captura. La ventana esta vacio u en terminal no escribio
>>>> nada. Estoy usando Python 2.7.3, será por eso?
>>>>
>>>>
>>>> 2014-04-15 12:46 GMT-03:00 Lucas <rollbak en gmail.com>:
>>>>
>>>> 2014-04-15 12:26 GMT-03:00 patricio tula <tula.patricio en gmail.com>:
>>>>>
>>>>> Lucas gracias por contestar.
>>>>>>
>>>>>> Acabo de cambiar el código como me dijiste pero no cambió nada. Sigue
>>>>>> sucediendo lo mismo. Incluso comenté el destructor y puse el constructor de
>>>>>> prestado arriba de .get() no sirvió.
>>>>>> Vuelvo a agregar el código.
>>>>>> Saludos,
>>>>>>
>>>>>> def PrestamosHerramientas():
>>>>>> 9 Prestamos = Tk()
>>>>>> 10 str1=StringVar()
>>>>>> 11 str2=StringVar()
>>>>>>
>>>>>> 12 Prestamos.title("LABI-Sistema de control de
>>>>>> prestamos-Prestamos")
>>>>>> 13 #Nombre y apellido
>>>>>> 14 L1=Label(Prestamos,text="Nombre y
>>>>>> Apellido").grid(row=0,column=0)
>>>>>> 15 E1=Entry(Prestamos,textvariable=str1,
>>>>>> bd=5).grid(row=0,column=1)
>>>>>> 16 #DNI
>>>>>> 17 L2=Label(Prestamos, text="DNI").grid(row=1,column=0)
>>>>>> 18 E2=Entry(Prestamos, textvariable=str2,bd=5).grid(row=1,
>>>>>> column=1)
>>>>>> 19
>>>>>> 20 def Prestar():#TODO Arreglar, esto no anda. str1 y str2 estan
>>>>>> vacios
>>>>>> 21 Prestado = Tk()
>>>>>> 22 text1=str1.get()
>>>>>> 23 text2=str2.get()
>>>>>> 24 print text1
>>>>>> 25 print text2
>>>>>> 26 #Prestamos.destroy()
>>>>>> 27 Prestado.title("Prestado")
>>>>>> 28 PrestarNyALabel = Label(Prestado, text=text1).pack()
>>>>>> 29 PrestarDNILabel = Label(Prestado, text=text2).pack()
>>>>>> 30 Prestado.mainloop()
>>>>>> 31
>>>>>> 32 PrestarBoton = Button(Prestamos, text="PRESTAR",
>>>>>> command=Prestar).grid(row=2,column=2)
>>>>>> 33
>>>>>> 34
>>>>>> 35 Prestamos.mainloop()
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2014-04-15 12:11 GMT-03:00 Lucas <rollbak en gmail.com>:
>>>>>>
>>>>>> 2014-04-15 11:26 GMT-03:00 patricio tula <tula.patricio en gmail.com>:
>>>>>>>
>>>>>>>> Hola,
>>>>>>>> Estoy diseñando un programa para controlar prestamos de
>>>>>>>> herramientas para el laboratorio abierto de fiuba y tengo un problema con
>>>>>>>> el bloque de código de la interfaz gráfica agregado abajo.
>>>>>>>> Concretamente, el problema es que las entradas de texto no se
>>>>>>>> guardan y cuando quiero utilizar la info en otro ventana no puedo. Alguien
>>>>>>>> tiene idea porque está pasando esto? como podría solucionarlo?
>>>>>>>> Desde ya muchas gracias,
>>>>>>>> Patricio
>>>>>>>>
>>>>>>>> PD: Aviso, soy Newbie en python todavía.
>>>>>>>>
>>>>>>>>
>>>>>>>> 8 def PrestamosHerramientas():
>>>>>>>> 9 str1=StringVar()
>>>>>>>> 10 str2=StringVar()
>>>>>>>> 11 Prestamos = Tk()
>>>>>>>> 12 Prestamos.title("LABI-Sistema de control de
>>>>>>>> prestamos-Prestamos")
>>>>>>>> 13 #Nombre y apellido
>>>>>>>> 14 L1=Label(Prestamos,text="Nombre y
>>>>>>>> Apellido").grid(row=0,column=0)
>>>>>>>> 15 E1=Entry(Prestamos,textvariable=str1,
>>>>>>>> bd=5).grid(row=0,column=1)
>>>>>>>> 16 #DNI
>>>>>>>> 17 L2=Label(Prestamos, text="DNI").grid(row=1,column=0)
>>>>>>>> 18 E2=Entry(Prestamos, textvariable=str2,bd=5).grid(row=1,
>>>>>>>> column=1)
>>>>>>>> 19 print str1
>>>>>>>> 20 print str2.get()
>>>>>>>> 21 print str2
>>>>>>>> 22 print str1.get()
>>>>>>>> 23 def Prestar():#TODO Arreglar, esto no anda. str1 y str2
>>>>>>>> estan vacios
>>>>>>>> 24 text1=str1.get()
>>>>>>>> 25 text2=str2.get()
>>>>>>>> 26 print str1
>>>>>>>> 27 print str2
>>>>>>>> 28 print text1
>>>>>>>> 29 print text2
>>>>>>>> 30 Prestamos.destroy()
>>>>>>>> 31 Prestado = Tk()
>>>>>>>> 32 Prestado.title("Prestado")
>>>>>>>> 33 PrestarNyALabel = Label(Prestado, text=text1).pack()
>>>>>>>> 34 PrestarDNILabel = Label(Prestado, text=text2).pack()
>>>>>>>> 35 Prestado.mainloop()
>>>>>>>> 36
>>>>>>>> 37
>>>>>>>> PrestarBoton=Button(Prestamos,text="PRESTAR",command=Prestar).grid(row=2,column=2)
>>>>>>>> 38
>>>>>>>> 39
>>>>>>>> 40 Prestamos.mainloop()
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> pyar mailing list pyar en python.org.ar
>>>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>>>
>>>>>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>>>>>>
>>>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>>>> de Argentina - http://www.usla.org.ar
>>>>>>>>
>>>>>>>
>>>>>>> Patricio,
>>>>>>>
>>>>>>> Tu problema es que estas creando el "top-level widget" despues de
>>>>>>> crear los widgets de StringVar, entonces no se bindean a ningun padre.
>>>>>>>
>>>>>>> Pone la linea 11 al principio de tu metodo y todo deberia andar.
>>>>>>>
>>>>>>> Saludos,
>>>>>>>
>>>>>>> --
>>>>>>> Lucas
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> pyar mailing list pyar en python.org.ar
>>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>>
>>>>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>>>>>
>>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>>> de Argentina - http://www.usla.org.ar
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> pyar mailing list pyar en python.org.ar
>>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>>
>>>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>>>>
>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>>>>>> de Argentina - http://www.usla.org.ar
>>>>>>
>>>>>
>>>>>
>>>>> Buenas,
>>>>>
>>>>> Lo probe en mi pc y esta andando [0].
>>>>>
>>>>> Podes copiar el output del script cuando lo corres?
>>>>>
>>>>> [0]
>>>>> https://www.dropbox.com/s/9dh0rf1spy6lwzd/Screenshot%202014-04-15%2012.44.08.png
>>>>>
>>>>> --
>>>>> Lucas
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> pyar mailing list pyar en python.org.ar
>>>>> http://listas.python.org.ar/listinfo/pyar
>>>>>
>>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>>>
>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>>> Argentina - http://www.usla.org.ar
>>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>> Entonces el problema debe generarse con el resto de tu codigo, las
>> funciones que mandaste andan bien. Calculo que debe haber algo del resto
>> del codigo que esta generando el conflicto.
>>
>> --
>> Lucas
>>
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
Como sospechaba el conflicto se generaba cuando integrabas esta funcion con
el resto del codigo.
El fix:
def PrestamosHerramientas():
Prestamos = Tk()
str1=StringVar(Prestamos)
str2=StringVar(Prestamos)
....
Pasa el "top-level-widget" que corresponde como padre de los widgets
asociados.
Al no pasarlo explícitamente estaban tomando como parent a la primer
ventana que creaste, x eso cuando los accedias desde el contexto del nuevo
"top-level-widget" estaban sin inicializar.
Saludos,
--
Lucas
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140415/4889d7d6/attachment-0001.html>
More information about the pyar
mailing list