[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