[Python-es] posicionamiento de elementos con wxpython

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


gracias, lo miraré a ver qué aprendo.
con GTK es más fácil, al menos como sé hacerlo.

saludos

Rafa


--------------------------------------------------
From: "Oswaldo Hernández" <listas en soft-com.es>
Sent: Monday, May 10, 2010 7:34 PM
To: "La lista de python en castellano" <python-es en python.org>
Subject: Re: [Python-es] posicionamiento de elementos con wxpython

> rafaelcantos en hotmail.com escribió:
>> Buenas.
>>
>> Javier, ¿Te acuerdas que pedí información sobre cómo desarrollar
>> software accesible para personas invidentes? Pues bien, yo estoy en ese
>> grupo como deficiente visual, por lo que un entorno gráfico va a ser
>> casi inaccesible. v. Estudio .net es accesible, porque hay scripts para
>> ello, pero no así Glade y otros entornos.
>>
>
> Hola,
>
> Te adjunto un ejemplo de Frame montado con sizers para ajustar los
> controles que envié a la lista hará un mes a otro compañero.
>
> Para que compruebes la facilidad de ajustar la fuente a la totalidad del
> Frame (me imagino que lo de la accesibilidad va por ahi), verás que al
> establecer una fuente al inicio de la declaración todos los objetos que
> crees a partir de ese momento heredan esta fuente.
>
> Saludos,
>
> -- 
> Oswaldo Hernández
>



> #!/usr/bin/env python
> #coding=utf-8
>
> import wx
>
> class mFrame(wx.Frame):
>    def __init__(self, parent, id, *args, **kwds):
>        wx.Frame.__init__(self, parent, id, *args, **kwds)
>        self.SetTitle("Ejemplo")
>
>        # Asignar Font
>        f = self.GetFont()
>        f.SetPointSize(18)
>        self.SetFont(f)
>
>        # Fondo del Frame y Sizer principal
>        fondo = wx.Panel(self, -1)
>        szFondo = wx.BoxSizer(wx.VERTICAL)
>        fondo.SetSizer(szFondo)
>
>        # Cabecera de Frame
>        cabecera = wx.StaticText(fondo, -1, "Formulario de entrada de 
> datos")
>        f = cabecera.GetFont()
>        f.SetWeight(wx.FONTWEIGHT_BOLD)
>        cabecera.SetFont(f)
>        szFondo.Add(cabecera, 0, wx.ALL, 3)
>
>        # Datos - Sizer
>        szData = wx.FlexGridSizer(-1, 2, 3, 3)
>        szData.AddGrowableCol(1)
>        szFondo.Add(szData, 2, wx.EXPAND|wx.ALL, 3)
>
>        # Datos - Controles
>        szData.Add(wx.StaticText(fondo, -1, "Nombre:"))
>        self.Nombre = wx.TextCtrl(fondo, -1)
>        szData.Add(self.Nombre, 0, wx.EXPAND)
>
>        szData.Add(wx.StaticText(fondo, -1, "Otros datos:"))
>        self.OtrosDatos = wx.TextCtrl(fondo, -1, style=wx.TE_MULTILINE)
>        szData.Add(self.OtrosDatos, 2, wx.EXPAND)
>        szData.AddGrowableRow(1)
>
>        # Botones - Sizer
>        szBtn = wx.BoxSizer(wx.HORIZONTAL)
>        szFondo.Add(szBtn, 0, wx.ALIGN_RIGHT)
>
>        # Botones - Controles
>        BtnAceptar = wx.Button(fondo, -1, "Aceptar")
>        szBtn.Add(BtnAceptar, 0, wx.ALL, 3)
>
>        BtnCancelar = wx.Button(fondo, -1, "Cancelar")
>        szBtn.Add(BtnCancelar, 0, wx.ALL, 3)
>
>        # Captura de Eventos
>        BtnAceptar.Bind(wx.EVT_BUTTON, self.OnAceptar)
>        BtnCancelar.Bind(wx.EVT_BUTTON, self.OnCancelar)
>
>        # MinSize y Layout
>        self.SetMinSize(wx.Size(400, 300))
>        self.Fit()
>        self.Layout()
>
>
>    def OnAceptar(self, evt):
>        print "Aceptado"
>        print "Nombre:", self.Nombre.GetValue()
>        print "Otros Datos:", self.OtrosDatos.GetValue()
>        self.Close()
>        evt.Skip()
>
>    def OnCancelar(self, evt):
>        print "Cancelado"
>        self.Close()
>        evt.Skip()
>
> # Test
> if __name__ == "__main__":
>    app = wx.PySimpleApp()
>    f = mFrame(None, -1)
>    f.Show(True)
>    app.MainLoop()
>
>



> _______________________________________________
> 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