+1  A: 
checkedItems = [i for i in range(citList.GetCount()) if citList.IsChecked(i)]

citList.GetChecked() should have also completed the task for you. May the problem be that you are trying to get selected items in __init__?

Upd.: You do not want to get checked items during __init__ - they cannot be checked by the user at that moment. You'd better check them in any event handler, e.g. wx.EVT_BUTTON.

Try writing self more often, e.g.:

self.citList = wx.CheckListBox(self, -1, (60, 50), wx.DefaultSize, allLoc)
# some code
self.panel = citPanel(self, -1)

and change Clicked to:

def Clicked(self, event):
    checkedItems = [i for i in range(self.panel.citList.GetCount()) if self.panel.citList.IsChecked(i)]
    print checkedItems
    event.Skip()

Hope this helps.

Li0liQ
Could I bind that to the button?
Kevin
Sure, you can write something similar to `self.Bind(wx.EVT_BUTTON, self.EvyRadBox2, nextBtn)` for it (suppose, you are getting checked items in `self.EvyRadBox2`).
Li0liQ
When I run with with a console open, all I see is (), an empty tuple. I do not know if check are being read, I will want to pass them to something else, I just do not think I am capturing them.
Kevin
You can try using `wx.MessageBox('Some info to display', 'Info')` to show any information you like.
Li0liQ
I added some new code
Kevin
Thank you so much
Kevin