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" <lis...@soft-com.es>
Sent: Monday, May 10, 2010 7:34 PM
To: "La lista de python en castellano" <python-es@python.org>
Subject: Re: [Python-es] posicionamiento de elementos con wxpython

rafaelcan...@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@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a