ich habe hier ein Problem mit meinem Prog. Ich habe ein SplitterWindow und in einem der beiden Fenster soll ein Diagramm angezeigt werden.
Allerdings wird dieses nur extrem klein angezeigt, ich hätte es allerdings gerne auf kompletter fenstergröße

Wäre schön wenn mir jemand helfen könnte, hab nelich echt keinae ahnung mehr voran es noch liegen könnte...
Ich poste einmal das komplette Programm, damit es auch ohne ergänzungen ausführbar ist
Code: Alles auswählen
# _*_ coding: cp1252 _*_
#Importe
import wx
import wx.lib.plot as plot
import os
#IDs
ID_OPEN = wx.NewId()
ID_SAVE = wx.NewId()
ID_SAVEAS = wx.NewId()
ID_SAVECLOSE = wx.NewId()
ID_CLOSE = wx.NewId()
ID_HELP = wx.NewId()
ID_INFO = wx.NewId()
ID_PAGESETUP = wx.NewId()
ID_PRINTPREVIEW = wx.NewId()
ID_PRINTOUT = wx.NewId()
##
ID_ENABLEGRID = wx.NewId()
ID_ENABLELEGEND = wx.NewId()
##
ID_TB_OPEN = wx.NewId()
#Konstanten
TITLE = 'Computer Aided Climate Data Evaluation'
VERSION = '0.1'
COPYRIGHT = '\n(C) 2007'
DESCRIPTION = '\nBeschreibung....'
wildcard = 'Bitmap Dateien (*.bmp)|*.bmp'
class Splitter(wx.SplitterWindow):
def __init__(self, parent, ID):
wx.SplitterWindow.__init__(self, parent, ID, style = wx.SP_LIVE_UPDATE)
class CacdeFrame(wx.Frame):
def __init__(self, parent, id, TITLE):
wx.Frame.__init__(self, None, -1, TITLE, wx.Point(5,6), wx.Size(700,500))
# Variablen
self.__path = ''
## SplitterWindow
splitter = Splitter(self, -1)
sty = wx.BORDER_SUNKEN
## Fenster 1
self.split1 = wx.Window(splitter, style=sty)
## Fenster 2
self.split2 = wx.Window(splitter, style=sty)
self.panel2 = wx.Panel(self.split2)
splitter.SplitVertically(self.split1, self.split2, -300)
#### DIAGRAMM
self.DrawDiagram()
### / DIAGRAMM
# Menubar
self.menubar = wx.MenuBar()
# Erster Menupunkt 'Datei'
menu = wx.Menu()
menu.Append(ID_OPEN, 'Öffnen...\tCtrl+O', 'Öffnet eine Datei')
self.Bind(wx.EVT_MENU, self.OnOpen, id = ID_OPEN)
#-------------------------------------------------------------
menu.AppendSeparator()
#-------------------------------------------------------------
menu.Append(ID_SAVE, 'Sichern\tCtrl+S', 'Datei sichern')
self.Bind(wx.EVT_MENU, self.OnSave, id = ID_SAVE)
menu.Append(ID_SAVEAS, 'Sichern als...\tF12', 'Datei unter neuem Namen sichern')
self.Bind(wx.EVT_MENU, self.OnSaveAs, id = ID_SAVEAS)
#-------------------------------------------------------------
menu.AppendSeparator()
#-------------------------------------------------------------
menu.Append(ID_PAGESETUP, 'Seite einrichten...', 'Drucker konfigurieren')
self.Bind(wx.EVT_MENU, self.OnFilePageSetup, id=ID_PAGESETUP)
menu.Append(ID_PRINTPREVIEW, 'Seitenansicht', 'Zeigt eine Druckvorschau des Diagramms')
self.Bind(wx.EVT_MENU, self.OnFilePrintPreview, id=ID_PRINTPREVIEW)
menu.Append(ID_PRINTOUT, 'Drucken...\tCtrl+P', 'Druckt das Diagramm aus')
self.Bind(wx.EVT_MENU, self.OnFilePrint, id=ID_PRINTOUT)
#-------------------------------------------------------------
menu.AppendSeparator()
#-------------------------------------------------------------
menu.Append(ID_SAVECLOSE, 'Sichern und Beenden', 'Speichert die aktuelle Datei und schließt die Anwendung')
self.Bind(wx.EVT_MENU, self.OnSaveClose, id = ID_SAVECLOSE)
menu.Append(ID_CLOSE, 'Beenden', 'Schließt die Anwendung')
self.Bind(wx.EVT_MENU, self.OnClose, id = ID_CLOSE)
self.menubar.Append(menu, '&Datei')
# /Datei
# 'Bearbeiten'
menu = wx.Menu()
menu.Append(ID_ENABLEGRID, 'Raster anzeigen', 'Schaltet das Raster an/aus', kind=wx.ITEM_CHECK)
self.Bind(wx.EVT_MENU,self.OnEnableGrid, id = ID_ENABLEGRID)
menu.Append(ID_ENABLELEGEND, 'Legende anzeigen', 'Schaltet die Legende an/aus', kind=wx.ITEM_CHECK)
self.Bind(wx.EVT_MENU,self.OnEnableLegend, id = ID_ENABLELEGEND)
self.menubar.Append(menu, '&Bearbeiten')
# /Bearbeiten
# 'Hilfe'
menu = wx.Menu()
menu.Append(ID_HELP, 'Hilfe\tF1', 'Öffnet die Hilfe')
self.Bind(wx.EVT_MENU, self.OnHelp, id = ID_HELP)
menu.Append(ID_INFO, 'Produktionformationen...', 'Zeigt Informationen über das Programm an')
self.Bind(wx.EVT_MENU, self.OnInfo, id = ID_INFO)
self.menubar.Append(menu, '&Hilfe')
self.SetMenuBar(self.menubar)
#/Hilfe
#/ Menubar
# Toolbar
self.tb = self.CreateToolBar(wx.TB_HORIZONTAL | wx.NO_BORDER | wx.TB_FLAT)
# Symbole für die Toolbar
btn_open = wx.Bitmap('btn_open.ico', wx.BITMAP_TYPE_ICO)
self.tb.AddSimpleTool(ID_TB_OPEN, btn_open, "Datei öffnen...", "Öffnet eine Datei")
self.Bind(wx.EVT_TOOL, self.OnOpen, id=ID_TB_OPEN)
#
# self.tb.AddSimpleTool(20, tb_open, "Öffnen...","Long help for 'Open'")
# self.Bind(wx.EVT_TOOL, self.OnToolClick, id=20)
self.tb.Realize()
# Statusleiste
self.CreateStatusBar()
self.SetStatusText('bereit')
#/ Statusleiste
# Methoden
def OnFilePageSetup(self, event):
self.diagram.PageSetup()
def OnFilePrintPreview(self, event):
self.diagram.PrintPreview()
def OnFilePrint(self, event):
self.diagram.Printout()
def OnOpen(self, event):
dlg = wx.FileDialog(self, message = 'Datei auswählen', defaultDir=os.getcwd(), defaultFile = '', wildcard = wildcard, style=wx.OPEN | wx.CHANGE_DIR)
if dlg.ShowModal() == wx.ID_OK:
self.__path = dlg.GetPath()
self.SetStatusText(self.__path)
dlg.Destroy()
def OnSave(self, event):
pass
def OnSaveAs(self, event):
pass
def OnSaveClose(self, event):
self.OnSave(event)
self.OnClose(event)
def OnClose(self, event):
self.Destroy()
def OnHelp(self, event):
pass
def OnInfo(self, event):
self.info = wx.AboutDialogInfo()
self.info.Name = TITLE
self.info.Version = VERSION
self.info.Copyright = COPYRIGHT
self.info.Description = DESCRIPTION
self.info.Developers = ['René Marksteiner', 'Alexander Neer', 'Patrick Steinau-Arendt']
wx.AboutBox(self.info)
def OnEnableGrid(self, event):
self.diagram.SetEnableGrid(event.IsChecked())
def OnEnableLegend(self,event):
self.diagram.SetEnableLegend(event.IsChecked())
def DrawDiagram(self):
vbox_main = wx.BoxSizer(wx.VERTICAL)
self.panel2.SetSizer(vbox_main)
vbox = wx.BoxSizer(wx.VERTICAL)
vbox_main.Add(vbox, 1, wx.ALL | wx.EXPAND, 5)
self.diagram = plot.PlotCanvas(self.panel2)
#vbox.Add(self.diagram, 1, wx.EXPAND | wx.ALL, 5)
lines = (
plot.PolyLine(((1, 5), (2, 8), (3,2), (4,10)), colour = "red", legend = " Linie 1", width = 3),
plot.PolyLine(((2, 0), (2, 20)), colour = "black", legend = " Linie 2", width = 3)
)
graphics = plot.PlotGraphics(objects = lines, title = u"Temperaturentwicklung", xLabel = "Iteration", yLabel = "Temperatur in Grad")
self.diagram.SetFont(wx.Font(10,wx.SWISS,wx.NORMAL,wx.NORMAL))
self.diagram.SetFontSizeAxis(10)
self.diagram.SetFontSizeLegend(7)
self.diagram.SetXSpec('auto')
self.diagram.SetYSpec('auto')
self.diagram.Draw(graphics, xAxis = (0, 20))
# Hauptprogramm
class CacdeApp(wx.App):
def OnInit(self):
frame = CacdeFrame(None, -1, TITLE)
frame.Show(True)
return True
if __name__ == '__main__':
app = CacdeApp(False)
app.MainLoop()