[Python-es] posicionamiento de elementos con wxpython

rafaelcantos en hotmail.com rafaelcantos en hotmail.com
Lun Mayo 10 21:20:42 CEST 2010


Gracias, estudiaré el código.

Saludos

Rafa


--------------------------------------------------
From: "Narcis Garcia - GiLUG" <informatica en actiu.net>
Sent: Sunday, May 09, 2010 10:05 PM
To: "La lista de python en castellano" <python-es en python.org>
Subject: Re: [Python-es] posicionamiento de elementos con wxpython

> - La disposición de una serie de controles yo la establezco con un bucle 
> (for ControlActual in Controles), que vaya incrementando una variable PosX 
> o PosY sumándole por ejemplo 10 + la medida del control colocado: 
> MiControl.GetSize().GetHeight()
>
> - Para adaptar al tamaño de la ventana supongo que hay que medirla 
> (GetSize?) y entonces dividir el espacio entre controles y separaciones de 
> margen. Si esto hay que rehacerlo cuando el usuario estira el tamaño de la 
> ventana, supongo que hay que interceptar tal evento con el objeto Frame.
>
>
>
> En/na rafaelcantos en hotmail.com ha escrit:
>> Buenas.
>>  Abajo le hes puesto un código que estoy usando para probar. No consigo 
>> dar con la clave para lo siguiente:
>> 1. Colocar los controles dentro de un boxSizer en vertical.
>> 2. Que los controles se adapten al tamaño de la ventana
>> 3. que los controles ocupen todo el espacio disponible para ellos
>> 4. Alinear los controles dentro del espacio asignado donde quiera.
>>  He mirado en la documentación de wxpython y he probado con los valores 
>> posibles, pero, o no me entero bien, o he sido incapaz de configurarlo, o 
>> no he entendido bien como funciona el boxSizer.
>> Les agradecería su ayuda.
>>  #!/usr/bin/python
>>
>> try:
>>
>> import wx
>>
>> except ImportError:
>>
>> raise ImportError,"Se requiere el modulo wxPython"
>>
>> class View(wx.Frame):
>>
>> def __init__(self, parent, id, title):
>>
>> wx.Frame.__init__(self, parent, id, title, size=(800, 600))
>>
>> self.parent = parent
>>
>> self.Centre()
>>
>> self.initialize()
>>
>> self.Show(True)
>>
>> def initialize(self):
>>
>> self.panel = wx.Panel(self, -1)
>>
>> box = wx.BoxSizer(wx.VERTICAL)
>>
>> self.entrada = wx.TextCtrl(self.panel, -1, value=u"Ingrese un texto:", 
>> style=wx.TE_PROCESS_ENTER)
>>
>> box.Add(self.entrada, 0, wx.ADJUST_MINSIZE, 10)
>>
>> self.boton = wx.Button(self.panel, -1, label="Pulsame ahora mismo!")
>>
>> box.Add(self.boton, 0, wx.ADJUST_MINSIZE, 10)
>>
>> box.Fit(self.panel)
>>
>>  if __name__ == "__main__":
>>
>> app = wx.App(False)
>>
>> view = View(None, -1, 'Ventana principal')
>>
>> app.MainLoop()
>>
>>  Saludos
>>
>>  Rafa
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
> 



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