В wxPython вы можете использовать для этого wxGrid , поскольку он поддерживает виртуальный режим и настраиваемые средства визуализации ячеек.
Это - это минимальный интерфейс, который вы должны реализовать для wxGrid «провайдера данных»:
class GridData(wx.grid.PyGridTableBase):
def GetColLabelValue(self, col):
pass
def GetNumberRows(self):
pass
def GetNumberCols(self):
pass
def IsEmptyCell(self, row, col):
pass
def GetValue(self, row, col):
pass
Это - минимальный интерфейс, который вы должны реализовать для средства визуализации ячеек wxGrid:
class CellRenderer(wx.grid.PyGridCellRenderer):
def Draw(self, grid, attr, dc, rect, row, col, isSelected):
pass
Рабочий пример, который использует эти классы, можно найти в wxPython документах и демонстрациях , он называется Grid_MegaExample.