wxPython中,如何放置多个grid
现在有一个函数:
def datagrid(set): import wx import wx.grid import generictable rowLabels = range(1,leng+1) colLabels = (u"学生姓名", u"第" + str(week) + u"周") class SimpleGrid(wx.grid.Grid): def __init__(self, parent): wx.grid.Grid.__init__(self, parent, -1) tableBase = generictable.GenericTable(set, rowLabels, colLabels) self.SetTable(tableBase) class TestFrame(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, -1, "A Grid", size=(275, 275)) panel = wx.Panel(self) grid = SimpleGrid(self) if __name__ == '__main__': app = wx.PySimpleApp() frame = TestFrame(None) frame.Show(True) app.MainLoop()
import wximport wx.gridclass GenericTable(wx.grid.PyGridTableBase): def __init__(self, data, rowLabels=None, colLabels=None): wx.grid.PyGridTableBase.__init__(self) self.data = data self.rowLabels = rowLabels self.colLabels = colLabels def GetNumberRows(self): return len(self.data) def GetNumberCols(self): return len(self.data[0]) def GetColLabelValue(self, col): if self.colLabels: return self.colLabels[col] def GetRowLabelValue(self, row): if self.rowLabels: return self.rowLabels[row] def IsEmptyCell(self, row, col): return False def GetValue(self, row, col): return self.data[row][col] def SetValue(self, row, col, value): pass