CarolusPl
CarolusPl

Reputation: 639

How add already captured screenshot to wx.BoxSizer?

My Python code:

    self.images = wx.StaticBitmap(self, id=-1, pos=wx.DefaultPosition,
                            size=(200,150),
                            style= wx.SUNKEN_BORDER)
    self.hbox = wx.BoxSizer(wx.HORIZONTAL)
    self.sizer.Add(self.hbox) # my main sizer

    #in function dynamically captured images
    bmp = wx.BitmapFromImage(image)
    self.images.SetBitmap(bmp)
    self.hbox.Add(self.images, 1, wx.EXPAND | wx.ALL, 3)

...and after I want to add next image (another - I don't want to replace older) I have information "Adding a window to the same sizer twice?"

How can I resolve this problem?

Upvotes: 0

Views: 477

Answers (1)

volting
volting

Reputation: 19077

In your function for dynamically captured images, you need to create a new staticBitmap rather than setting self.images which overwrites and therefore replaces...

So instead of

self.images.SetBitmap(bmp)

you need to do

newImage = wx.StaticBitmap(self, id=-1
                           size=(200,150),
                           style= wx.SUNKEN_BORDER
                           bitmap = bmp)


self.hbox.Add(newImage, 1, wx.EXPAND | wx.ALL, 3)
self.SetSizerAndFit(self.sizer)
self.Refresh()
self.Layout()

Upvotes: 3

Related Questions