Problemas Entry Tkinter

Christal Berengena Moreno se05216 en salleURL.edu
Mie Jun 30 17:32:46 CEST 2004


He hecho un "codigo de muestra" con el problema... en este tambien me pasa
lo mismo...
from Tkinter import *
import string

root=Tk()

class Molde:
	def __init__(self,parent):
		self.raizppal=parent
		self.CambiaNombreMolde()

	def CambiaNombreMolde(self):
		self.frNombreMolde2=Toplevel(self.raizppal, bg='#908875',
borderwidth=3, relief='raised')
		self.frNombreMolde2.geometry('400x300+250+100')
		self.frNombreMolde2.overrideredirect(1)

		self.frNombreMolde=Frame(self.frNombreMolde2,
bg='#e7dfca', borderwidth=3, relief='sunken')
		self.frNombreMolde.place(relx=0.005, rely=0.015,
relh=0.97, relw=0.99)


self.LblEntryNombreMolde=Label(self.frNombreMolde,bg='#e7dfca',
				text="NUEVO NOMBRE",
font=('arial','16','bold'))
		self.LblEntryNombreMolde.place(relx=0.05, rely=0.25)
		self.entryVarNombreMolde=StringVar()
		self.entryVarNombreMolde.set("nuevo")
		self.EntryNombreMolde=Entry(self.frNombreMolde, width=30,
bg='white', font=('arial','18','bold'),

textvariable=self.entryVarNombreMolde)
		self.EntryNombreMolde.place(relx=0.05, rely=0.4)
		#~ self.EntryNombreMolde.focus()

		self.btnSalvarNombreMolde=Button(self.frNombreMolde,
bg='#908875', fg='white',
				text="OK", font=('arial','16','bold'),
command=self.cmdBtnOKNombreMolde)
		self.btnSalvarNombreMolde.place(relx=0.3, rely=0.65,
relh=0.15, relw=0.25)

		self.btnSalirNombreMolde=Button(self.frNombreMolde,
bg='#908875', fg='white',
				text="SALIR", font=('arial','16','bold'),
command=self.frNombreMolde2.destroy)
		self.btnSalirNombreMolde.place(relx=0.6, rely=0.65,
relh=0.15, relw=0.25)

	def cmdBtnOKNombreMolde(self):
		self.NombreMolde=self.entryVarNombreMolde.get()
		if self.NombreMolde=='':
			pass
		elif len(self.NombreMolde)>15:
			pass
		else:
			print "molde cambiado"+self.NombreMolde
			self.frNombreMolde2.destroy()

	def cmdBtnSalirMolde(self):
		self.frNombreMolde2.destroy()

if __name__ == '__main__':
	root.geometry("200x100+400+300")
	root.overrideredirect(1)

	btnNombre=Button(root,text="INSERTAR
NOMBRE",bg="blue",command=lambda parent=root: Molde(parent))
	btnNombre.pack(side=TOP, fill=BOTH, expand=YES)


btnSalir=Button(root,text="SALIR",bg="orange",command=root.destroy)
	btnSalir.pack(side=TOP, fill=BOTH, expand=YES)

	root.mainloop()


On Tue, 29 Jun 2004, Ernesto Revilla wrote:

> Con más código nos ayudarías:
>
> * estás ejecutando el mainloop() al final del programa? SI
>
> * estáis creando los Entries cada vez de nuevo? Los StringVars también?
SI, SE SOBREESCRIBEN CADA VEZ QUE ENTRO...
>
> * qué se utiliza para cerrar la ventana? DESTRUYO EL FRAME PRINCIPAL DE
LA MISMA (EL QUE CONTIENE TODOS LOS ENTRY), TAMBIEN HE INTENTADO DESTRUIR
OBJETO A OBJETO Y HACE LO MISMO...
> ...
> Erny

SI NECESITAIS MAS... DECIDLO QUE OS ENVIO MAS, PERO NO SE QUE PUEDE SER!
HE PROBADO TAMBIEN PONER LO DEL FOCUS PARA ACTIVARLO Y NADA...

GRACIAS!!


>
>
> Christal Berengena Moreno escribió:
>
> >Hola a todos!
> >
> >Os explico un poco nuestro problema para ver si alguien sabe a que puede
> >ser debido...
> >Tenemos un programa en python que en ciertas ocasiones solicita
> >informacion del usuario mediante "entry" de tkinter... hasta aqui todo
> >bien... Lo especial en nuestro problema es que solo nos permite acceder a
> >la parte de entrada del entry, solo nos aparece en cursor para introducir
> >datos, la primera vez que abrimos el toplevel que contiene el entry...
> >Nos pasa en todos los entrys y no sabemos que es lo que puede causar
> >esto... parece como si el entry tubiera un "tope" en una especie de buffer
> >y se llenara, pero es que cada vez que cerramos el toplevel lo destruimos
> >todo y al abrirlo de nuevo se genera otra vez...
> >
> >El codigo que utilizamos para generarlo es este...
> >
> >self.entryVarNombreMolde=StringVar()
> >self.entryVarNombreMolde.set(self.InterfazGeneral.valoresMaqs[self.nummaq].TxtCaractMoldeAct[0])
> >self.EntryNombreMolde=Entry(self.frNombreMolde, width=30,
> >	bg='white', font=('arial','18','bold'),
> >	textvariable=self.entryVarNombreMolde)
> >self.EntryNombreMolde.place(relx=0.05, rely=0.4)
> >
> >Luego, al leerlo siempre usamos self.entryVarNombreMolde.get(), pero eso
> >no nos da problemas...
> >
> >Si alguien tiene idea de como se puede solucionar o hay alguna otra manera
> >de introducir datos... que no dude en decirnoslo!!
> >
> >Un saludo y gracias!!!!!
> >Y si necesitais que os explique mas para poder ayudarnos... no hay
> >problema... otra vez gracias!! :)
> >
> >
> >------------------------------------------------------------------------
> >
> >_______________________________________________
> >Python-es mailing list
> >Python-es en aditel.org
> >http://listas.aditel.org/listinfo/python-es
> >
> >
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>




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