Sizer aktualisiert Größenänderungen nicht
Verfasst: Freitag 20. Juni 2008, 16:42
Hallo, das ist mein erster Beitrag.
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
Wenn nun die Bitmapgröße und anschließend der Sizer aktualisiert wird, müsste der ja eigentlich um die Static Bitmaps herum kollabieren, tut er aber nicht! Wenn ich das Bild größer mache, wird die Größe auch nicht geändert, der Rest wird abgeschnitten (sieht man nur an EmtyBitmaps nicht so gut, deswegen andersherum).
Was mache ich falsch? Wäre dankbar für jede Hilfe
[/code]
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
