Re: Resumen de Python-es, Vol 293, Envío 57

Rolando José Torres Sánchez rolandojtorres en gmail.com
Jue Sep 28 03:30:09 CEST 2006


> Date: Wed, 27 Sep 2006 10:45:52 +0200 (CEST)
> From: "Ekaitz Lizundia" <elizundia en fitbak.com>
> Subject: Re: [Python-es] Esconder botones
> To: "La lista de python en castellano" <python-es en aditel.org>
> Message-ID: <4886.87.218.192.151.1159346752.squirrel en mail.fitbak.com>
> Content-Type: text/plain;charset=iso-8859-1
>
> Me vuelvo a responder, me habia equivocado en los nombres de las
> funciones, y por eso no me hacia caso. Fallo mio
>
> > Pues sigo con problemas, pasar de inhabilitado a habilitado me funciona,
> > pero si luego quiero inhabilitar el boton ya no me hace caso. Alguien sabe
> > como hacerlo????
> >
> > Yo hago:
> > b.config(state=NORMAL)
> > luego:
> > b.config(state=DISABLED)
> >
> > Y se queda habilitado...
> >
> > saludos, eka
> >
> >> Me respondo a mi mismo, y por si a alguien le interesa.
> >>
> >> btn = Button(frame, text="Buscar", state=DISABLED)
> >>
> >> en caso de querer luego mostrar el boton, basta con
> >>
> >> btn.config(state=NORMAL)
> >>
> >>
> >>> Saludos a todos,
> >>>
> >>> Necesito saber si se puede esconder botones con Tkinter. Es decir,
> >>> tenerlos hechos en diseño, pero que esten en modo oculto y cuando le de
> >>> a
> >>> un boton, esos botones ocultos se hagan visibles. Si alguien sabe como
> >>> hacer eso agradeceria su ayuda.
> >>>
> >>> Gracias,
> >>>
> >>> Eka

No entiendo bien que es lo que quieres; Si es que queden activos o que
aparezcan, son diferentes los conceptos, puesto que el primero lo que
hace es inhabilitar y habilitar el boton, el segundo, lo oculta y lo
muestra para que aparezca en el GUI.

Si quieres hacer es que se habiliten o se desabiliten, como te han
dicho esta bien, pues el control del tcl/tk es -state y puede ser
normal active o disable.

Si lo que quieres es que aparezca, entonces lo que se hace en TCL es
que se define el boton pero no se empaqueta sino hasta el momento en
que se necesita.

Para empaquetar el boton dentro del GUI se usa uno de los
empaquetadores, Pack, Grid, Place.

El Pack en resumidas cuentas, encarrila en el GUI los objetos a medida
que van apareciendo, arriba abajo derecha o izaquierda.
El Grid, los pone dependiendode una malla invisble donde se ponen los
objetos, por filas y columnas.
El Place, pone los objetos donde uno quiera definiendo el x y el y
donde se quiere que aparezcan.

Como el boton no va a estar empaquetado, y se empaquetara cuando tu
digas, creo que lo mejor es usar el empaquetador Place, pues permite
poner un objeto en cualquier parte x,y del GUI, en cualquier momento,
luego de haber empaquetado los otros objetos.

Tanto en PACK como en PLACE, los objetos llevan un orden que puede ser
dependiendo de los anteriores o de los siguientes. o de las columnas y
filas donde se hallan dispuesto los objetos.

Lo otro que puedes hacer es definir con PACK o con GRID un boton cuyo
relieve sea plano (flat) y sin texto y sin comando, para que parezca
invisible o que no esta y con otro boton, configure el relieve, el
texto el color y el comando, cuando tu quieras.

Rolando Jose Torres Sanchez
rolandojtorres en gmail.com




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