
Ich habe mit wxGlade zur Übung ein Fenster "gezeichnet" mit einer Tabelle (wxGrid) drin und durch den Button füllen, konnte man die Tabelle auch füllen. War auch kein Problem, was mich aber stört sind die Scrollbalken unten und rechts, habe schon verschiedenes ausprobiert aber irgendwie bleiben die immer noch da. Kann mir da jemand ein Tipp geben ?
Hier der Code:
File: MyFrame.py
Code: Alles auswählen
# -*- coding: ISO-8859-1 -*-
# generated by wxGlade 0.4.1 on Thu Jun 01 22:58:01 2006
import wx
# begin wxGlade: dependencies
import wx.grid
# end wxGlade
myID_cmdFuellen= wx.NewId()
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.panel_1 = wx.Panel(self, -1)
self.stat_sizer_2_staticbox = wx.StaticBox(self.panel_1, -1, "")
self.grid_1 = wx.grid.Grid(self.panel_1, -1, size=(1, 1))
self.cmdOk = wx.Button(self.panel_1, wx.ID_OK, "Ok")
self.cmdFuellen = wx.Button(self.panel_1, myID_cmdFuellen, u"Füllen")
self.__set_properties()
self.__do_layout()
self.Bind(wx.EVT_BUTTON, self.cmdOk_clicked, id=wx.ID_OK)
self.Bind(wx.EVT_BUTTON, self.cndFuellen_clicked, id=myID_cmdFuellen)
# end wxGlade
def __set_properties(self):
# begin wxGlade: MyFrame.__set_properties
self.SetTitle("frame_1")
self.grid_1.CreateGrid(10, 3)
self.grid_1.SetMinSize((377, 211))
# end wxGlade
def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer_1 = wx.BoxSizer(wx.VERTICAL)
stat_sizer_2 = wx.StaticBoxSizer(self.stat_sizer_2_staticbox, wx.HORIZONTAL)
sizer_2 = wx.BoxSizer(wx.VERTICAL)
sizer_3 = wx.BoxSizer(wx.HORIZONTAL)
sizer_2.Add(self.grid_1, 2, wx.EXPAND, 0)
sizer_3.Add(self.cmdOk, 1, wx.ADJUST_MINSIZE, 0)
sizer_3.Add(self.cmdFuellen, 1, wx.ADJUST_MINSIZE, 0)
sizer_2.Add(sizer_3, 0, wx.TOP|wx.EXPAND, 20)
stat_sizer_2.Add(sizer_2, 1, wx.EXPAND, 0)
self.panel_1.SetAutoLayout(True)
self.panel_1.SetSizer(stat_sizer_2)
stat_sizer_2.Fit(self.panel_1)
stat_sizer_2.SetSizeHints(self.panel_1)
sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0)
self.SetAutoLayout(True)
self.SetSizer(sizer_1)
sizer_1.Fit(self)
sizer_1.SetSizeHints(self)
self.Layout()
# end wxGlade
def cmdOk_clicked(self, event): # wxGlade: MyFrame.<event_handler>
print "Event handler `cmdOk_clicked' not implemented!"
event.Skip()
self.Close()
def cndFuellen_clicked(self, event): # wxGlade: MyFrame.<event_handler>
print "Event handler `cndFuellen_clicked' not implemented!"
event.Skip()
daten=[1,2,3,4,5,6]
i=0
row=0
col=0
print "Max Row:",self.grid_1.GetNumberRows()
print "Max Cols:",self.grid_1.GetNumberCols()
#while row<self.grid_1.GetNumberRows():
while i <len(daten):
if row>self.grid_1.GetNumberRows():
break
col=0
print "row:",row
while col< self.grid_1.GetNumberCols():
print "col:",col
self.grid_1.SetCellValue(row,col,str(daten[i]))
i+=1
col+=1
row+=1
# end of class MyFrame
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: ISO-8859-1 -*-
# generated by wxGlade 0.4.1 on Thu Jun 01 22:58:01 2006
import wx
from MyFrame import MyFrame
class test_grid(wx.App):
def OnInit(self):
wx.InitAllImageHandlers()
frame_1 = MyFrame(None, -1, "")
self.SetTopWindow(frame_1)
frame_1.Show()
return 1
# end of class test_grid
if __name__ == "__main__":
grid1 = test_grid(0)
grid1.MainLoop()
Ich denke die Frage ist so blöd, dass es eigentlich schon peinlich ist .... aber nützt nix .... ich komme selbst nicht weiter.
Habe auch schon die Suche benutzt und gegoogelt aber nix gefunden....
Hoffe ihr könnt mir helfen. [/code]