Duda sobre wxPython
Diego Chaparro
dchapar.madrid en sinvest.es
Vie Jul 25 14:18:55 CEST 2003
gema_alf en yahoo.es wrote:
> Hola aqui esta de nuevo la pesada del wxPython, es que tengo un problema. En un panel quiero poner un texto y una imagen, el texto en el centro y la imagen a la derecha parece sencillo ¿verdad?
> pues no lo consigue he probado a poner un layout a la etiqueta y decirle que lo centre en la X e Y pero no me hace ni caso al igual que la imagen. La única solución es posicionarlo yo a mano con wxPoints pero entonces al redimensionar el panel no me conserva el movimiento.
> Bueno, es algo sencillo para los expertos que hay aqui pero yo no soy tan experta.
> Aqui os mando el código que he utilizado.
> [...]
Yo te recomiendo usar sizers, que son cajas en las que metes controles y
se redimensionan solas. Sería algo así ( no lo he probado ):
panelA=wxWindow(panel,-1,wxDefaultPosition,wxDefaultSize,wxSIMPLE_BORDER)#wxTRANSPARENT_WINDOW)
sizer = wxBoxSizer ( wxHORIZONTAL )
labelEtiqueta = wxStaticText(panelA, -1,"Texto"(50,10),size=wxSize(-1,
25),style=wxALIGN_CENTER)
rutaBmp=apply(os.path.join, tuple(split('image.bmp', '/')))
bmp = wxImage(rutaBmp, wxBITMAP_TYPE_BMP).ConvertToBitmap()
bitmap=wxStaticBitmap(panelA, -1, bmp,
wxDefaultPosition,wxSize(bmp.GetWidth(), bmp.GetHeight()))
sizer.Add ( labelEtiqueta, 0, wxALIGN_CENTRE|wxALL, 0 )
sizer.Add ( bitmap, 0, wxALIGN_RIGHT|wxALL, 0 )
panelA.SetSizer(sizer)
panelA.SetAutoLayout(true)
sizer.Fit (panelA)
> #panelA
> panelA=wxWindow(panel,-1,wxDefaultPosition,wxDefaultSize,wxSIMPLE_BORDER)#wxTRANSPARENT_WINDOW)
> lc = wxLayoutConstraints()
> lc.left.SameAs(panel, wxLeft, 5)#borde al redimensionar
> lc.right.SameAs(panel,wxRight,5)
> lc.top.SameAs(panel,wxTop,5)
> lc.bottom.PercentOf(panel, wxBottom, 10)
> panelA.SetConstraints(lc)
>
> labelEtiqueta = wxStaticText(panelA, -1,"Texto"(50,10),size=wxSize(-1, 25),style=wxALIGN_CENTER)
> rutaBmp=apply(os.path.join, tuple(split('image.bmp', '/')))
> bmp = wxImage(rutaBmp, wxBITMAP_TYPE_BMP).ConvertToBitmap()
> bitmap=wxStaticBitmap(panelA, -1, bmp, wxDefaultPosition,wxSize(bmp.GetWidth(), bmp.GetHeight()))
Más información sobre la lista de distribución Python-es