Below is a rough example  using UltimateListCtrl that puts a checkbox
next to every item with the associated callback.
Suggestions welcome.
===
import wx
import sys
import sys
import UltimateListCtrl as ULC
packages = [('jessica alba', 'pomona', '1981'), ('sigourney weaver',
'new york', '1949'),
    ('angelina jolie', 'los angeles', '1975'), ('natalie portman',
'jerusalem', '1981'),
    ('rachel weiss', 'london', '1971'), ('scarlett johansson', 'new
york', '1984' ),
    ('rachel weiss', 'london', '1971'), ('scarlett johansson', 'new
york', '1984' ),
    ('rachel weiss', 'london', '1971'), ('scarlett johansson', 'new
york', '1984' ),
    ('rachel weiss', 'london', '1971'), ('scarlett johansson', 'new
york', '1984' )]
class Actresses(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, size=(400, 130))
        hbox = wx.BoxSizer(wx.HORIZONTAL)
        panel = wx.Panel(self, -1)
        self.list = ULC.UltimateListCtrl(panel, -1,
style=wx.LC_REPORT)
        self.list.InsertColumn(0, 'name', width=140)
        self.list.InsertColumn(1, 'place', width=130)
        self.list.InsertColumn(2, 'year', wx.LIST_FORMAT_RIGHT, 90)
        for i in packages:
            index = self.list.InsertStringItem(sys.maxint, i[0])
            self.list.SetStringItem(index, 1, i[1])
            self.list.SetStringItem(index, 2, i[2])
        self.chk_dict = dict()
        for j in range(3):
            for i in range(len(packages)):
                item = self.list.GetItem(i,j)
                chk = wx.CheckBox(self.list,id=-1)
                item.SetWindow(chk)
                self.chk_dict[chk.GetId()]= item
                self.list.SetItem(item)
        hbox.Add(self.list, 1, wx.EXPAND)
        self.list.Select(11)
        self.list.EnsureVisible(11)
        self.Bind(wx.EVT_CHECKBOX,self.OnCheck)
        panel.SetSizer(hbox)
        self.Show(True)
    def OnCheck(self,event):
        x=self.chk_dict[event.GetId()].GetText()
        pass
app = wx.App()
Actresses(None, -1, 'actresses')
app.MainLoop()
On Oct 19, 7:41 pm, michael h <
michaelke...@gmail.com> wrote:
> andrea's hypertreelist and ultimatelistctrl support adding any kind of
> non-toplevel widget to the tree/rows (images, checkboxes, toggle
> buttons to name a few ideas for indicating true/false)
>
> If i misunderstand and you don't actually need two checkboxes in the
 > same listctrl, i'd check out objectlistview  athttp://
objectlistview.sourceforge.net/python/
> it's pretty handy...
>
> the wxpython demos are a really good place to start...I use it fairly
> often for ideas even still...
>
> - michael
>