Also mein Problem besteht darin, dass beim maximieren meines Fensters die Oberfläche "zerwürfelt" wird. Um das besser nachvollziehen zu können habe ich mal ein Beispielprogramm im Anhang. Dies kann gleich so verwendet werden. Das "Programm" wird im maximierten Zustand geöffnet. Durch den Menüpunkt Start->Create werden 7 BoxSizer mit jeweils einem Panel erzeugt. Was nun zu sehen ist, ist ein übereinandergewürfel der Objekte. Wenn man jetzt die Ansicht. minimiert und dann wieder Maximiert. Ist das gewünschte Resultat zu sehen. Da ich den Usern aber nicht zumuten möchte immer ein minimieren und anschließendem maximieren des Fensters ertragen zu müssen, suche ich verzwifelt eine Lösung. Vielleicht kann mir einer von euch weiterhelfen.
Im Anhang der Beispielcode, der so herauskopiert werden kann und läuft.(müßt vielleicht Zeilen einrücken)
Code: Alles auswählen
from wxPython.wx import *
import os.path,time
class Main(wxFrame):
def __init__(self, parent, ID, title,sRequestResult):
wxFrame.__init__(self, parent, ID, title, wxDefaultPosition, wxDefaultSize)
self.menu_File = wxMenu()
self.menu_Config = wxMenu()
self.menu_About = wxMenu()
submenu = wxMenu()
menuBar = wxMenuBar()
self.menuBar = menuBar
self.menuBar.Append(self.menu_File, '&Start')
self.SetMenuBar(menuBar)
self.menu_File.Append(1001,'create','create')
EVT_MENU(self,1001, self.OnCreate)
def OnCreate(self,event):
MySize = self.GetClientSizeTuple()
Width = MySize[0]
Height = MySize[1]
self.panel2 = wxPanel(self, -1,wxPoint(wxDEFAULT),wxSize(wxDEFAULT),style=wxTAB_TRAVERSAL)
self.panel3 = wxPanel(self, -1,wxPoint(wxDEFAULT), wxSize(Width/2,450),style = wxTAB_TRAVERSAL)
self.panel4 = wxPanel(self,-1,wxPoint(wxDEFAULT),wxSize(wxDEFAULT),style=wxTAB_TRAVERSAL)
self.panel5 = wxPanel(self, -1,wxPoint(wxDEFAULT),wxSize(2,Height))
self.panel6 = wxPanel(self, -1,wxPoint(Width/2,0), wxSize(wxDEFAULT),style = wxTAB_TRAVERSAL)
self.panel7 = wxPanel(self, -1,wxPoint(wxDEFAULT),wxSize(Width/2,450),style=wxTAB_TRAVERSAL)
self.panel8 = wxPanel(self, -1,wxPoint(wxDEFAULT),wxSize(wxDEFAULT),style=wxTAB_TRAVERSAL)
self.line =wxStaticLine(self.panel5,-1,wxPoint(0) , wxSize(2,Height), style = wxLI_VERTICAL|wxSUNKEN_BORDER)
LabelBaust = wxStaticText(self.panel3, -1, 'Headline1',wxPoint(Width/7,30))
LabelSzen = wxStaticText(self.panel7, -1, 'Headline2',wxPoint(Width/6,30))
LabelBaust.SetForegroundColour('#0F498F')
LabelSzen.SetForegroundColour('#0F498F')
font = wxFont(18,wxSWISS , wxNORMAL, wxNORMAL,1)
LabelBaust.SetFont(font)
LabelSzen.SetFont(font)
# ------ Feldpositionen des Panel 3 --------------------------------------------------------------------
Height =100
self.Height = Height
leftTxtWidth =100
self.leftTxtWidth=leftTxtWidth
rightTxtWidth =300
self.rightTxtWidth = rightTxtWidth
leftLabWidth =30
rightLabWidth =230
TxtSizeWidth=120
TxtSizeHeight = 20
cbSizeWidth=100
cbSizeHeight = 20
l20 = wxStaticText(self.panel3, -1, 'label1',pos =(leftLabWidth,Height+5))
t20 = wxTextCtrl(self.panel3, -1, 'string1',wxPoint(leftTxtWidth,Height),size=(TxtSizeWidth,TxtSizeHeight), style=wxTE_READONLY|wxTE_RICH,name= 'ROAD_ID')
l21 = wxStaticText(self.panel3, -1, 'label2',pos =(leftLabWidth,Height+35))
t21 = wxTextCtrl(self.panel3, -1, 'string2', wxPoint(leftTxtWidth,Height+30),size=(TxtSizeWidth,TxtSizeHeight),style=wxTE_READONLY|wxTE_RICH,name='FROM_TOWN')
l22 = wxStaticText(self.panel3, -1, 'label3',pos =(rightLabWidth,Height+35))
t22 = wxTextCtrl(self.panel3, -1, 'string3', wxPoint(rightTxtWidth,Height+30),size=(TxtSizeWidth,TxtSizeHeight),style=wxTE_READONLY|wxTE_RICH,name='TO_TOWN')
l23 = wxStaticText(self.panel3, -1, 'label4:',pos =(leftLabWidth,Height+65))
t23 = wxTextCtrl(self.panel3, -1, 'string4', wxPoint(leftTxtWidth,Height+60),size=(TxtSizeWidth,TxtSizeHeight),style=wxTE_READONLY|wxTE_RICH,name='BETWEEN')
l24 = wxStaticText(self.panel3, -1, 'label5',pos =(rightLabWidth,Height+65))
t24 = wxTextCtrl(self.panel3, -1, 'string', wxPoint(rightTxtWidth,Height+60),size=(TxtSizeWidth,TxtSizeHeight),style=wxTE_READONLY|wxTE_RICH,name='AND')
l25 = wxStaticText(self.panel3, -1, 'label6',pos =(leftLabWidth,Height+95))
t25 = wxTextCtrl(self.panel3, -1, 'string6', wxPoint(leftTxtWidth,Height+90),size=(TxtSizeWidth,TxtSizeHeight),style=wxTE_READONLY|wxTE_RICH,name='C_FROM_KM')
l26 = wxStaticText(self.panel3, -1, 'label7',pos =(rightLabWidth,Height+95))
t26 = wxTextCtrl(self.panel3, -1, 'string', wxPoint(rightTxtWidth,Height+90),size=(TxtSizeWidth,TxtSizeHeight),style=wxTE_READONLY|wxTE_RICH,name='C_TO_KM')
l27 = wxStaticText(self.panel3, -1, 'label8',pos =(leftLabWidth,Height+155))
t27 = wxTextCtrl(self.panel3, -1, 'string8',wxPoint(leftTxtWidth,Height+150),size=(TxtSizeWidth,TxtSizeHeight),style=wxTE_READONLY|wxTE_RICH ,name = 'RULE_FLAT')
l28 = wxStaticText(self.panel3, -1, 'label9',pos =(rightLabWidth,Height+155))
t28 = wxTextCtrl(self.panel3, -1, 'string9',wxPoint(rightTxtWidth,Height+150),size=(TxtSizeWidth,TxtSizeHeight),style=wxTE_READONLY|wxTE_RICH,name = 'C_REASON_FK')
l31 = wxStaticText(self.panel3, -1, 'string10',pos =(leftLabWidth,Height+245))
t31 = wxTextCtrl(self.panel3, -1, '', wxPoint(leftTxtWidth,Height+240),size=(320,60),style=wxTE_READONLY|wxTE_MULTILINE|wxTE_RICH,name='C_COMMENT')
szPos =60
rightComboLabel = wxStaticText(self.panel7, -1, 'combo1',wxPoint(szPos,Height+5),wxSize(80,20))
self.rightCombo = wxComboBox(self.panel7, -1, '',wxPoint(szPos+100,Height),wxSize(45,cbSizeHeight), style=wxCB_READONLY|wxCB_SORT,name = 'SZ_ID')
self.chkbox1=wxCheckBox(self.panel7, -1, 'chk1', wxPoint(szPos,Height+50), style=wxNO_BORDER, name = 'SZ_VACANCES')
self.chkbox2=wxCheckBox(self.panel7, -1, 'chk2', wxPoint(szPos,Height+80), style=wxNO_BORDER, name = 'SZ_ACTIVITY')
self.chkbox3=wxCheckBox(self.panel7, -1, 'chk3', wxPoint(szPos,Height+110), style=wxNO_BORDER, name = 'SZ_WEATHER')
self.chkbox4=wxCheckBox(self.panel7, -1, 'chk4', wxPoint(szPos,Height+140),style=wxNO_BORDER, name = 'SZ_EQUIPMENT')
self.chkbox5=wxCheckBox(self.panel7, -1, 'chk5', wxPoint(szPos,Height+170), style=wxNO_BORDER, name = 'SZ_LANE_SWING')
self.chkbox6=wxCheckBox(self.panel7, -1, 'chk6', wxPoint(szPos,Height+200), style=wxNO_BORDER, name = 'SZ_LEFT_BLOCK')
self.chkbox7=wxCheckBox(self.panel7, -1, 'chk7', wxPoint(szPos,Height+230), style=wxNO_BORDER, name = 'SZ_RIGHT_BLOCK')
l32 = wxStaticText(self.panel7, -1, 'stringx',pos =(szPos,Height+265))
t32 = wxTextCtrl(self.panel7, -1, 'stringx', pos =(szPos+150,Height+260),size=(40,20),style=wxTE_RICH,name='SZ_HEAVY_VEHICLE_ROTATION')
l321 = wxStaticText(self.panel7, -1, '%',pos =(szPos+195,Height+265))
self.mainSizer = wxBoxSizer(wxHORIZONTAL)
self.leftSizer = wxBoxSizer(wxVERTICAL)
self.rightSizer = wxBoxSizer(wxVERTICAL)
self.leftSizer.Add(self.panel2,1,wxEXPAND)
self.leftSizer.Add(self.panel3,13,wxALIGN_CENTER_VERTICAL|wxEXPAND)
self.leftSizer.Add(self.panel4,1,wxEXPAND)
self.mainSizer.Add(self.leftSizer,1,wxEXPAND)
self.mainSizer.Add(self.panel5,0,wxEXPAND)
self.mainSizer.Add(self.rightSizer,1,wxEXPAND)
self.rightSizer.Add(self.panel6,1,wxEXPAND)
self.rightSizer.Add(self.panel7,13,wxALIGN_CENTER_VERTICAL|wxEXPAND)
self.rightSizer.Add(self.panel8,1,wxEXPAND)
self.SetAutoLayout(1)
self.SetSizer(self.mainSizer)
#~ self.Maximize(0)
#~ self.Maximize(1)
self.mainSizer.Fit(self)
def OnTest2(self,event):
self.menuBar.EnableTop(1,0)
self.ReguestSend()
self.panel1.Show(0)
self.CharactInitData()
class MyApp(wxApp):
def OnInit(self):
frame = Main(NULL ,-1, 'problem')
if __name__ == '__main__':
import sys
app = wxPySimpleApp()
frame = Main(NULL ,-1, 'problem','')
frame.Maximize(1)
frame.Show(True)
frame.CenterOnParent(wxBOTH)
app.MainLoop()