Ian Maurmann on 30 May 2015


Lots of fix-ups:

  • Smoother fonts
  • KeyBind capitalizes key names
  • use_click, use_hover, use_scroll, use_active, use_focus, are now called automatically when needed, so they'll be behind-the-scenes from now on.
  • Added onKeyup event that was missing
  • Added a "keyboard" event that fires every frame when key(s) are pressed
  • All event callbacks take the same parameters, in the same order, now
  • Added "inner" events that handle built-in events for elements, i.e. an active button changing color, or text being added to the textbox when a key is pressed.
  • onKeydown events for Textbox and KeyBind are now fixed
  • New trigger() function for dynamically triggering events


CactusGUI is a user interface for the Pygame game engine. It allows you to easily drop textboxes, labels, and images into your game.

The goal of CactusGUI is to provide easy-to-use graphical elements without adding extra complications to your project. A good GUI should make things simpler, not more complicated.

Please Note: CactusGUI is just out of Pre-Alpha. It might have everything you need for your project, but for most projects it will not. If you need a more mature GUI then you'll need to look elsewhere: (PGU, OcempGUI, GooeyPy, Albow, ...and other Pygame GUI's)

UI Elements implemented:

Events implemented:

  • hover
  • unhover
  • focus
  • blur
  • mouseup
  • mousedown
  • click
  • rightclick
  • leftclick
  • keydown


CactusGUI is licensed under the LGPL (GNU Lesser General Public License, Version 2.1) the same license that Pygame uses.