Да, вы должны были бы сделать это сами для wx.ListCtrl, и я не уверен, что было бы легко (или элегантно) поступить правильно.
Подумайте об использовании wx.Grid, вот небольшой пример для начала:
import wx, wx.grid
class GridData(wx.grid.PyGridTableBase):
_cols = "This is a long column name,b,c".split(",")
_data = [
"1 2 3".split(),
"4,5,And here is a long cell value".split(","),
"7 8 9".split()
]
def GetColLabelValue(self, col):
return self._cols[col]
def GetNumberRows(self):
return len(self._data)
def GetNumberCols(self):
return len(self._cols)
def GetValue(self, row, col):
return self._data[row][col]
class Test(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None)
grid = wx.grid.Grid(self)
grid.SetTable(GridData())
grid.EnableEditing(False)
grid.SetSelectionMode(wx.grid.Grid.SelectRows)
grid.SetRowLabelSize(0)
grid.AutoSizeColumns()
app = wx.PySimpleApp()
app.TopWindow = Test()
app.TopWindow.Show()
app.MainLoop()