title
= 'Pmw.RadioSelect demonstration'
# Import Pmw from this directory tree.
sys
.path
[:0] = ['../../..']
def __init__(self
, parent
):
# Create and pack a horizontal RadioSelect widget.
horiz
= Pmw
.RadioSelect(parent
,
label_text
= 'Horizontal',
horiz
.pack(fill
= 'x', padx
= 10, pady
= 10)
# Add some buttons to the horizontal RadioSelect.
for text
in ('Fruit', 'Vegetables', 'Cereals', 'Legumes'):
# Create and pack a multiple selection RadioSelect widget.
self
.multiple
= Pmw
.RadioSelect(parent
,
command
= self
.multcallback
,
label_text
= 'Multiple\nselection',
self
.multiple
.pack(fill
= 'x', padx
= 10)
# Add some buttons to the multiple selection RadioSelect.
for text
in ('Apricots', 'Eggplant', 'Rice', 'Lentils'):
self
.multiple
.invoke('Rice')
# Create and pack a vertical RadioSelect widget, with checkbuttons.
self
.checkbuttons
= Pmw
.RadioSelect(parent
,
buttontype
= 'checkbutton',
command
= self
.checkbuttoncallback
,
label_text
= 'Vertical,\nusing\ncheckbuttons',
self
.checkbuttons
.pack(side
= 'left', expand
= 1, padx
= 10, pady
= 10)
# Add some buttons to the checkbutton RadioSelect.
for text
in ('Male', 'Female'):
self
.checkbuttons
.add(text
)
self
.checkbuttons
.invoke('Male')
self
.checkbuttons
.invoke('Female')
# Create and pack a RadioSelect widget, with radiobuttons.
radiobuttons
= Pmw
.RadioSelect(parent
,
buttontype
= 'radiobutton',
label_text
= 'Vertical,\nusing\nradiobuttons',
radiobuttons
.pack(side
= 'left', expand
= 1, padx
= 10, pady
= 10)
# Add some buttons to the radiobutton RadioSelect.
for text
in ('Male', 'Female', 'Both', 'Neither'):
radiobuttons
.invoke('Both')
# This is called whenever the user clicks on a button
# in a single select RadioSelect widget.
print 'Button', tag
, 'was pressed.'
def multcallback(self
, tag
, state
):
# This is called whenever the user clicks on a button
# in the multiple select RadioSelect widget.
print 'Button', tag
, 'was', action
, \
'Selection:', self
.multiple
.getcurselection()
def checkbuttoncallback(self
, tag
, state
):
# This is called whenever the user clicks on a button
# in the checkbutton RadioSelect widget.
print 'Button', tag
, 'was', action
, \
'Selection:', self
.checkbuttons
.getcurselection()
######################################################################
# Create demo in root window for testing.
if __name__
== '__main__':
exitButton
= Tkinter
.Button(root
, text
= 'Exit', command
= root
.destroy
)
exitButton
.pack(side
= 'bottom')