Border resized sich beim Resize
Verfasst: Dienstag 21. August 2007, 21:31
Hallo 
Ich bin ein Noob was Python angeht und versuche gerade meine erste App zu erstellen. Klappt soweit auch ganz gut, nur mit den GUI Sachen hab ich noch meine Probleme.
Wenn ich das Frame (etwas schneller) resize, dann verändert sich auch die Border (wird dicker oder schmaler). Und ich hab keine Ahnung warum.
Ich hoffe hier kann mir jemand helfen.
Code Snippet:
MFG
medi

Ich bin ein Noob was Python angeht und versuche gerade meine erste App zu erstellen. Klappt soweit auch ganz gut, nur mit den GUI Sachen hab ich noch meine Probleme.
Wenn ich das Frame (etwas schneller) resize, dann verändert sich auch die Border (wird dicker oder schmaler). Und ich hab keine Ahnung warum.
Ich hoffe hier kann mir jemand helfen.
Code Snippet:
Code: Alles auswählen
class MainWindow(wx.Frame):
def __init__(self,parent,id, title):
wx.Frame.__init__(self,parent,wx.ID_ANY,title,size=(800,600),
style=(wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE)
& ~ wx.MAXIMIZE_BOX & ~ wx.CLOSE_BOX)
self.SetMinSize((800,600))
panel = self.panel = wx.Panel(self, size=self.GetClientSize())
gb = self.gb = wx.GridBagSizer(0, 1)
gb.SetMinSize(panel.GetSize())
x, y = self.GetClientSizeTuple()
panelLeft = self.panel.panelLeft = wx.Panel(panel, size=(x-x/4, y),
style=wx.BORDER_SUNKEN)
panelLeft.canvas = MyCanvas(panelLeft, wx.ID_ANY)
panelLeft.canvas.SetSize(panelLeft.GetSizeTuple())
panelRight = self.panel.panelRight = scrolled.ScrolledPanel(panel, size=(x-(x-x/4), y),
style=wx.BORDER_SUNKEN)
panelRight.SetAutoLayout(True)
panelRight.SetupScrolling()
gb.Add(panelLeft, (0,0), flag=wx.EXPAND | wx.ALL)
gb.Add(panelRight, (0,1), flag=wx.EXPAND | wx.ALL)
panel.SetSizerAndFit(gb)
self.Bind(wx.EVT_SIZE, self.OnSize)
self.Bind(wx.EVT_PAINT, self.OnPaint)
def OnSize(self, evt):
#self.Refresh()
evt.Skip()
def OnPaint(self, evt):
dc = wx.PaintDC(self)
x, y = self.GetClientSizeTuple()
self.panel.SetSize(self.GetClientSizeTuple())
self.panel.panelLeft.SetSize((x-x/4, y))
self.panel.panelLeft.canvas.SetSize(self.panel.panelLeft.GetSizeTuple())
self.panel.panelRight.SetSize((x-(x-x/4), y))
MFG
medi