Mein Problem ist, das in meiner GUI zwei Bilder sind, die sich jedoch ändern können...
Jowohl! auch in der Größe. Nur interessiert es den Sizer offenbar nicht, er ignoriert die Größenändrungen bei StaticBitmaps, ich weis allerdings nicht weshalb. Ich habe mal dieses Minimalprogramm erstellt um das Problem zu zeigen.
import wx
Code: Alles auswählen
class GuiFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "Test", (100, 100), style = wx.DEFAULT_FRAME_STYLE)
self.panel = wx.Panel(self, -1)
bitmap = wx.EmptyImage(50, 50).ConvertToBitmap()
self.panel_sizer = wx.BoxSizer(wx.HORIZONTAL)
self.eingangsbild = wx.StaticBitmap(self.panel, -1, bitmap, size = (bitmap.GetWidth(), bitmap.GetHeight()))
self.panel_sizer.Add(self.eingangsbild)
self.ausgangsbild = wx.StaticBitmap(self.panel, -1, bitmap, size = (bitmap.GetWidth(), bitmap.GetHeight()))
self.panel_sizer.Add(self.ausgangsbild)
self.text = wx.StaticText(self.panel, -1, "123")
self.panel_sizer.Add(self.text)
button = wx.Button(self.panel, -1, "Test")
self.Bind(wx.EVT_BUTTON, self.Test, button)
self.panel_sizer.Add(button)
self.panel.SetSizerAndFit(self.panel_sizer)
def Test(self, evnt):
bitmap = wx.EmptyImage(30, 30).ConvertToBitmap()
self.eingangsbild.SetBitmap(bitmap)
self.ausgangsbild.SetBitmap(bitmap)
self.text.SetLabel("12345")
self.panel.GetSizer().RecalcSizes()
class SteganoApp(wx.App):
def OnInit(self):
frame = GuiFrame()
frame.Show(True)
return(True)
if (__name__ == '__main__'):
app = SteganoApp(False)
app.MainLoop()
Was mache ich falsch? Wäre dankbar für jede Hilfe
