April 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.


Simple Button component

A simple cuboid shaped button without caption. Implements responsive button behavoir.

Could be used to subclass differently shaped buttons from. The colours of the front/back and the side faces can be specified.

Example Usage

Two simple buttons which send messages to the console:

    button1 = SimpleButton(size=(1,1,0.3), position=(-2,0,-10), msg="PINKY"),
    button2 = SimpleButton(size=(2,2,1), position=(5,0,-15), msg="BRAIN"),
    echo = ConsoleEchoer(),
    linkages = {
        ("button1", "outbox") : ("echo", "inbox"),
        ("button2", "outbox") : ("echo", "inbox")

How does it work?

This component is a subclass of OpenGLComponent (for OpenGLComponent functionality see its documentation). It overrides __init__(), setup(), draw() and handleEvents().

It draws a simple cuboid. It is activated on mouse button release over the object and on key down if a key is assigned. On mouse button down it is shrunk by a small amount until the button is released.


class SimpleButton(Kamaelia.UI.OpenGL.OpenGLComponent.OpenGLComponent)

SimpleButton(...) -> A new SimpleButton component.

A simple cuboid shaped button without caption. Implements responsive button behavoir.

Keyword arguments:

  • bgcolour -- Background colour (default=(244,244,244))
  • sidecolour -- Colour of side planes (default=(200,200,244))
  • key -- Activation key, pygame identifier (optional)
  • msg -- Message that gets sent to the outbox when the button is activated (default="CLICK")



Methods defined here


You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.

__init__(self, **argd)

x.__init__(...) initializes x; see x.__class__.__doc__ for signature




Methods inherited from Kamaelia.UI.OpenGL.OpenGLComponent.OpenGLComponent :


Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!

Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.

-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT