2010-08-25 56 views
0

我的Python代碼:如何將截圖添加到wx.BoxSizer中?

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) 

...之後我想添加一個圖像(另一個 - 我不想取代舊的)我有信息「添加窗口,來分級機的兩倍?」

我該如何解決這個問題?

+0

很難告訴你的問題。你想用另一個圖像替換一個圖像還是一起添加另一個圖像...或者? – volting 2010-08-25 14:26:20

+0

我想添加另一個 – CarolusPl 2010-08-25 14:35:45

回答

2

在你的功能動態拍攝的圖像,你需要創建一個新的staticBitmap,而不是設置self.images它會覆蓋和替換,因此...

所以不是

self.images.SetBitmap(bmp)

你需要做

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

是的,我認爲這可以正常工作,但它不會在self.hbox中顯示圖像。我只在主wx.Dialog的左上角看到一個圖像...我是用python gui noob,我知道;) – CarolusPl 2010-08-26 10:25:28

+0

查看我更新的答案我忘記了最後一行self.SetSizerAndFit(),嘗試它應該工作。 – volting 2010-08-26 10:31:35

+0

我認爲沒有幫助;/ – CarolusPl 2010-08-26 10:36:31