[Python-es] Fwd: GridBagSizer y StaticBitmap

conterperawebs webs conterperawebs en gmail.com
Mar Feb 28 15:07:26 CET 2012


Muchisimas gracias Txema Vicente!!!

Funciona perfectamente.

El 27 de febrero de 2012 13:57, Txema Vicente <txema en nabla.net> escribió:

>  Buenas.
>
> Si creas un nuevo StaticBitmap, ya no es el que estaba en el GridSizer.
> Hay un método para cambiar la imagen.
>
>  self.imagenes.SetBitmap(bitmap)
>
> Y al hacer eso es posible que se descoloque y necesites que el sizer se
> recalcule:
>
>  self.GetSizer().Layout()
>
> El 27/02/2012 13:19, conterperawebs webs escribió:
>
>
> Hola foro!!
>
> Soy nuevo en python.
> Despues de leer "Python para todos", hacer algunas pruebas, he decido dar
> "el salto", a programar algo con cierta utilidad.
> El caso, es que estoy intentando desarrollar una aplicacion, que mientras
> navego a traves de un TreeListCtrl, ubicado en la parte izquierda de la
> pantalla, me muestre en la parte derecha, una imagen, que esta asociada a
> cada una de las hojas del TreeListCtrl.
>
> El caso es que no consigo posicionar la imagen, donde yo quiero, cada vez
> que selecciono un item.
>
>
> Resumiendo codigo
>
> import wx
> from Main import opj
> import wx.gizmos
> import  os
> import sqlite3 as sqlite
> import images
> .
> .
> .
>
> self.tree=wx.gizmos.TreeListCtrl(self, -1, style =
>                                          wx.TR_DEFAULT_STYLE
>                                          | wx.TR_FULL_ROW_HIGHLIGHT)
> .
> .
>         jpg = wx.Image(opj('bitmaps/image.jpg'),
> wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
>
>         grid = self.grid = wx.GridBagSizer()
>
>         grid.Add(self.tree,(0,0), (20,70), wx.EXPAND, 0, 1)
>
>         pos = 70
>
>         self.imagenes = wx.StaticBitmap(self, -1, jpg, (0, pos),
> (jpg.GetWidth(), jpg.GetHeight()))
>
>         grid.Add(self.imagenes, (0,pos), (jpg.GetWidth(), jpg.GetHeight()))
>
>         self.SetSizerAndFit(grid)
>
> Hasta aqui todo perfecto.
> Pero cuando selecciono una hoja del TreeListCtrl, la imagen, me aparece en
> la parte izquierda arriba y no en la misma posicion que la imagen inicial
> (la especificada en el codigo de arriba).
>
>     def OnItemLeftClick(self, evt):
>         item = evt.GetItem()
>
>         pos = 70
>
>         if self.tree.GetItemText(item) == "Producto 1":
>             self.imagenes = wx.StaticBitmap(self, -1, jpg, (0, pos),
> (jpg.GetWidth(), jpg.GetHeight()))
>
>
> Seguramente estaré cometiendo un error de novato, pero lo he intentado
> todo (hasta donde yo se), consultando, googleando, ejemplos, y no lo
> consigo.
>
> Gracias anticipadas por la ayuda.
>
>
>
> _______________________________________________
> Python-es mailing listPython-es en python.orghttp://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/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120228/f143c785/attachment.html>


Más información sobre la lista de distribución Python-es