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