1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
from wxPython.wx import *
#---------------------------------------------------------------------------
RBUT1 = wxNewId()
RBUT2 = wxNewId()
RBUT3 = wxNewId()
RBUT4 = wxNewId()
RBOX1 = wxNewId()
RBOX2 = wxNewId()
class TestRadioButtons(wxPanel):
def __init__(self, parent, log):
self.log = log
wxPanel.__init__(self, parent, -1)
#self.SetBackgroundColour(wxBLUE)
sampleList = ['zero', 'one', 'two', 'three', 'four', 'five',
'six', 'seven', 'eight']
sizer = wxBoxSizer(wxVERTICAL)
rb = wxRadioBox(self, RBOX1, "wxRadioBox",
wxDefaultPosition, wxDefaultSize,
sampleList, 2, wxRA_SPECIFY_COLS)
EVT_RADIOBOX(self, RBOX1, self.EvtRadioBox)
#rb.SetBackgroundColour(wxBLUE)
rb.SetToolTip(wxToolTip("This is a ToolTip!"))
#rb.SetLabel("wxRadioBox")
sizer.Add(rb, 0, wxALL, 20)
rb = wxRadioBox(self, RBOX2, "", wxDefaultPosition, wxDefaultSize,
sampleList, 3, wxRA_SPECIFY_COLS | wxNO_BORDER)
EVT_RADIOBOX(self, RBOX2, self.EvtRadioBox)
rb.SetToolTip(wxToolTip("This box has no label"))
sizer.Add(rb, 0, wxLEFT|wxRIGHT|wxBOTTOM, 20)
self.SetSizer(sizer)
def EvtRadioBox(self, event):
self.log.WriteText('EvtRadioBox: %d\n' % event.GetInt())
def EvtRadioButton(self, event):
self.log.write('EvtRadioButton:%d\n' % event.GetId())
#---------------------------------------------------------------------------
def runTest(frame, nb, log):
win = TestRadioButtons(nb, log)
return win
overview = """\
A radio box item is used to select one of number of mutually exclusive
choices. It is displayed as a vertical column or horizontal row of
labelled buttons.
"""
if __name__ == '__main__':
import sys,os
import run
run.main(['', os.path.basename(sys.argv[0])])
|