import wx import wx.lib.dialogs #--------------------------------------------------------------------------- class TestPanel(wx.Panel): def __init__(self, parent, log): self.log = log wx.Panel.__init__(self, parent, -1) b = wx.Button(self, -1, "Create and Show a MultipleChoiceDialog", (50,50)) self.Bind(wx.EVT_BUTTON, self.OnButton, b) def OnButton(self, evt): lst = [ 'apple', 'pear', 'banana', 'coconut', 'orange', 'grape', 'pineapple', 'blueberry', 'raspberry', 'blackberry', 'snozzleberry', 'etc', 'etc..', 'etc...' ] dlg = wx.lib.dialogs.MultipleChoiceDialog( self, "Pick some from\n this list\nblah blah...", "m.s.d.", lst) if (dlg.ShowModal() == wx.ID_OK): self.log.write("Selection: %s -> %s\n" % (dlg.GetValue(), dlg.GetValueString())) dlg.Destroy() #--------------------------------------------------------------------------- def runTest(frame, nb, log): win = TestPanel(nb, log) return win #--------------------------------------------------------------------------- overview = """\ This is a Python implementation of a dialog that is not yet implemented in wxWindows proper, so don't let the wxWindows documentation mislead you.

MultipleChoiceDialog(self, parent, msg, title, lst, pos = wx.wxDefaultPosition, size = (200,200), style = wx.DEFAULT_DIALOG_STYLE)

parent
The parent window
msg
The message that will be displayed above the list
title
The text that will appear on the title bar
lst
A Python list of choices that will appear in the dialog.
pos
The position of the dialog
size
The size of the dialog
style
The style for the dialog. Only styles normally available to wxDialog are available.
Methods
GetValue
Returns a tuple containing the indices of the selected items
GetValueString
Returns a tuple containing the text of the selected items
Additionally, MultipleChoiceDialog.lbox is a standard wx.ListBox which supports all methods applicable to that class. """ if __name__ == '__main__': import sys,os import run run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])