开发者

How add already captured screenshot to wx.BoxSizer?

开发者 https://www.devze.com 2023-01-13 05:15 出处:网络
My Python code: self.images = wx.StaticBitmap(self, id=-1, pos=wx.DefaultPosition, size=(200,150), style= wx.SUNKEN_BORDER)

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
    bm开发者_StackOverflow中文版p = 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?


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()
0

精彩评论

暂无评论...
验证码 换一张
取 消