Problema con checkbuttons
Ernesto Revilla
erny en sicem.biz
Vie Abr 29 13:42:41 CEST 2005
Hola,
lo primero, la librería se llama Tkinter , no Thinker, porque es la
interfaz de Python para Tk (Tcl/Tk), donde Tk significa Toolkit y Tcl,
segun me acuerdo, algo como Tool Command Language [1]
Segundo, usa el método grid para hacer un diseño en 2 columnas:
for i,cb in enumerate(checkbuttons): # enumerate devuelve una lista de tuplas (0,elemento1), (1,elemento2), (3,elemento3)...., que enumera todos los elementos de la lista pasada como parámetro
cb.grid(column=i % 2, row=i / 2) # primer operador (%) es op. módulo, segundo (/) división de enteros
Atención: no puedes meclar .grid y .pack en un mismo contenedor (Frame,
Toplevel, etc.)
Un saludo,
Erny
[1] http://www.auditmypc.com/acronym/TCL.asp
Abel Aranda escribió:
>
>Buenas, estoy intentando hacer una aplicación grafica en python, pa
>monitorizar ordenadores, y me encuentro con el siguiente problema, al
>definir checkbuttons para cada maquina no consigo que me salgan en
>varias columnas dependiendo de las que se necesiten,
>
>El numero de checkbuttons que se crean es el que se le pase en la lista
>y puede ir variando
>
>A ver si alguién me puede ayudar
>
>Lo estoy realizando con thinker
>
>
>Aki pego el codigo
>
>
>from Tkinter import *
>root = Tk()
>class Pines:
> def radiocheck (self,label,allObjects):
> personalFrame = Frame (root)
> personalFrame.pack (side=LEFT, fill=X, expand=1)
> personalLabel = Label (personalFrame, text=label)
> personalLabel.pack (side=TOP, anchor=W)
> self.checkObjects = []
> for i in allObjects:
> if i[1] == "c":
> self.checkObjects.append(StringVar())
> oneObject = Checkbutton (personalFrame, text=i[0],
>
>variable=self.checkObjects[-1],anchor='e',highlightthickness=80,
> onvalue=i[0], offvalue="")
> oneObject.pack (side=TOP, anchor=W)
> Button(personalFrame,text="Test",command=self.test).pack()
>
> def test(self):
> print [check.get() for check in self.checkObjects
> if check.get()]
>
>global objectGenreList,genreList
>objectGenreList =
>(('Komoedie','c'),('Horror','c'),('Drama','c'),('Komoedie','c'))
>genreList = Pines()
>genreList.radiocheck('Maquinas',objectGenreList)
>root.mainloop()
>
>Un Saludo
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>Abel Aranda Arriscado
> Administrador
> CEDAS
>
> Centro de Datos, Administración y Soporte
> e-mail: abel.aranda en salud.madrid.org
> tfno: 91 4265549, móvil: 670726950
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>El contenido de esta comunicación debe considerarse privado y
>confidencial. Si Vd. no es el destinatario y la hubiere recibido por
>error, se le informa que cualquier divulgación, distribución o copia de
>esta comunicación está estrictamente prohibida; por favor, notifíquelo
>inmediatamente al remitente y elimine este mensaje.
>
>This Email is intended for the exclusive use of the addressee only. If
>you are not the intended recipient, you should not use the contents nor
>disclose them to any other person and you should immediately notify the
>sender and delete the Email.
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo/python-es
>
>
>
--
=========================================
NO A LAS PATENTES DE SOFTWARE
http://proinnova.hispalinux.es
=========================================
Ernesto Revilla
sicem sl
Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13
18220 Albolote
http://www.sicem.biz
Tel: 637 716189
MSN: aerd en mx3.redestb.es
ICQ: 163888521
---
avast! Antivirus: Saliente mensaje limpio.
Base de datos de Virus (VPS): 0517-3, 28/04/2005
Comprobado en: 29/04/2005 13:42:42
avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software.
http://www.avast.com
Más información sobre la lista de distribución Python-es