wxWidgets/wxPython/demo/ToggleButton.py

61 lines
1.6 KiB
Python
Raw Normal View History

import wx
haveToggleBtn = 1
if wx.Platform == "__WXX11__":
haveToggleBtn = 0
#----------------------------------------------------------------------
class TestPanel(wx.Panel):
def __init__(self, parent, log):
wx.Panel.__init__(self, parent, -1)
self.log = log
panel = wx.Panel(self, -1)
buttons = wx.BoxSizer(wx.HORIZONTAL)
for word in "These are toggle buttons".split():
b = wx.ToggleButton(panel, -1, word)
self.Bind(wx.EVT_TOGGLEBUTTON, self.OnToggle, b)
buttons.Add(b, flag=wx.ALL, border=5)
panel.SetAutoLayout(True)
panel.SetSizer(buttons)
buttons.Fit(panel)
panel.Move((50,50))
def OnToggle(self, evt):
self.log.write("Button %d toggled\n" % evt.GetId())
#----------------------------------------------------------------------
def runTest(frame, nb, log):
if haveToggleBtn:
win = TestPanel(nb, log)
return win
else:
dlg = wx.MessageDialog(frame, 'wx.ToggleButton is not available on this platform.',
'Sorry', wx.OK | wx.ICON_INFORMATION)
dlg.ShowModal()
dlg.Destroy()
#----------------------------------------------------------------------
overview = """\
wx.ToggleButton is a button that stays pressed when clicked by the user.
In other words, it is similar to wxCheckBox in functionality but looks like a
wxButton.
This class is only available under wxMSW and wxGTK currently.
"""
if __name__ == '__main__':
import sys,os
import run
run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])