ich stehe am Anfang der Python- und insbesondere der wxPython-Entwicklung.
Ich möchte mehrere Fenster in einem anderen Fenster haben und dort verwalten. Also dachte ich mir, ich erzeuge ein Rahmenfenster und darin mehrere Fenster. Diese Fenster möchte ich bei einer Größenänderung des Rahmens an seine Größe anpassen. Also habe ich für das Event EVT_SIZE einen Handler definiert und versuche darin die Größe und Position eines Rahmenelementes vom Typ Panel zu ändern.
Egal was ich mache es tut sich nichts, aber auch gar nichts (...außer jeder Menge Frust bei mir...) ...
Wahrscheinlich habe ich ganz grundlegende Dinge außer Acht gelassen, von denen ich nicht weiß, daß es sie gibt (wie gesagt, Anfänger).
Kann jemand helfen?
Code: Alles auswählen
from wx import *
from wx._core import Panel
class myFrame(Frame):
def __init__(self, parent, id, title, hsize, vsize, style, pos=(0,0)):
Frame.__init__(self, parent, id, size=(hsize,vsize), title=title, style=style, pos=pos)
self.hsize = hsize
self.vsize = vsize
# self.leftPanel = Panel(self,pos=(0,0), size=(100,400), style=DOUBLE_BORDER)
# self.midPanel = Panel(self,pos=(100,0), size=(200,400), style=DOUBLE_BORDER)
self.righttPanel = Panel(self,pos=(300,0), size=(100,400), style=DOUBLE_BORDER)
self.Bind(EVT_SIZE, self.OnFrameSize)
self.Show()
def OnFrameSize(self, event):
self.hsize = event.GetSize()[0]
self.vsize = event.GetSize()[1]
#SetSize(self.rightPanel,50,200,180,30)
Move(self.rightPanel, (self.FrameHsize/4*3,0))
app = App()
mainFrame= myFrame(parent=None, id=1, title="Editor", hsize=400, vsize=800, style=DEFAULT_FRAME_STYLE)
mainFrame.Show()
app.MainLoop()