In this snippet we are playing around with wxPython's buttons, showing you how to bind the mouse click event, enable and disable, show and hide the buttons. Each button also has a tool-tip (hint) associated with itself.

# create a wx frame with 6 wx buttons and optional tooltips
# hide/disable and show/enable the buttons as they are clicked
# also show right-click and double-click events
# tested with Python24 and wxPython26 by    vegaseat   29may2006

import wx

class MyFrame(wx.Frame):
    """make a frame, inherits wx.Frame"""
    def __init__(self):
        # create a frame, no parent, default to wxID_ANY
        wx.Frame.__init__(self, None, wx.ID_ANY, 'wxButton',
            pos=(300, 150), size=(320, 250))
        self.SetBackgroundColour("green")
        
        self.button1 = wx.Button(self, id=-1, label='Button1',
            pos=(8, 8), size=(175, 28))
        self.button1.Bind(wx.EVT_BUTTON, self.button1Click)
        # optional tooltip
        self.button1.SetToolTip(wx.ToolTip("click to hide"))

        self.button2 = wx.Button(self, id=-1, label='Button2',
            pos=(8, 38), size=(175, 28))
        self.button2.Bind(wx.EVT_BUTTON, self.button2Click)
        # optional tooltip
        self.button2.SetToolTip(wx.ToolTip("click to hide"))
        
        self.button3 = wx.Button(self, id=-1, label='Button3',
            pos=(8, 68), size=(175, 28))
        self.button3.Bind(wx.EVT_BUTTON, self.button3Click)
        # optional tooltip
        self.button3.SetToolTip(wx.ToolTip("click to disable"))

        self.button4 = wx.Button(self, id=-1, label='Button4',
            pos=(8, 98), size=(175, 28))
        self.button4.Bind(wx.EVT_BUTTON, self.button4Click)
        # optional tooltip
        self.button4.SetToolTip(wx.ToolTip("click to disable"))
        
        self.button5 = wx.Button(self, id=-1, label='Button5',
            pos=(8, 128), size=(175, 28))
        self.button5.Bind(wx.EVT_RIGHT_DOWN, self.button5Click)
        # optional tooltip
        self.button5.SetToolTip(wx.ToolTip("right click"))

        self.button6 = wx.Button(self, id=-1, label='Button6',
            pos=(8, 158), size=(175, 28))
        self.button6.Bind(wx.EVT_LEFT_DCLICK, self.button6Click)
        # optional tooltip
        self.button6.SetToolTip(wx.ToolTip("left double click"))
        
        # show the frame
        self.Show(True)

    def button1Click(self,event):
        self.button1.Hide()
        self.SetTitle("Button1 clicked")
        self.button2.Show()
        
    def button2Click(self,event):
        self.button2.Hide()
        self.SetTitle("Button2 clicked")
        self.button1.Show()

    def button3Click(self,event):
        self.button3.Disable()
        self.SetTitle("Button3 clicked")
        self.button4.Enable()

    def button4Click(self,event):
        self.button4.Disable()
        self.SetTitle("Button4 clicked")
        self.button3.Enable()
        
    def button5Click(self,event):
        self.SetTitle("Button5 right-clicked")
        
    def button6Click(self,event):
        self.SetTitle("Button6 double-clicked")


application = wx.PySimpleApp()
# call class MyFrame
window = MyFrame()
# start the event loop
application.MainLoop()
The article starter has earned a lot of community kudos, and such articles offer a bounty for quality replies.