[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