# ButtonPad, a lightweight GUI framework built on tkinter

**URL:** <https://discuss.python.org/t/buttonpad-a-lightweight-gui-framework-built-on-tkinter/104361>\
**Category:** Python in Education\
**Created:** [October 14, 2025, 6:23pm UTC](https://discuss.python.org/t/buttonpad-a-lightweight-gui-framework-built-on-tkinter/104361 "2025-10-14T18:23:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![AlSweigart](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/alsweigart/32/12237_2.png) [@AlSweigart](https://discuss.python.org/u/AlSweigart)\
**Post date:** [October 14, 2025, 6:23pm UTC](https://discuss.python.org/t/buttonpad-a-lightweight-gui-framework-built-on-tkinter/104361/1 "2025-10-14T18:23:13Z")

</div>

I wanted a GUI framework that was simple and didn’t require a heavy package like PyQt or PySide, so I created ButtonPad. It’s built on top of tkinter so it doesn’t have any dependencies. It’s sort of like those programmable stream decks or drum machines with a grid of buttons. It’s slightly configurable, but I tried to limit it to just some basic widgets: buttons, text boxes, labels, and images. It also lets you set up a status bar or menu, and imports the JavaScript-like `alert()` dialog functions from PyMsgBox. Windows are resizable by default. Layout is done with a multi-line string of comma-separated widget names.

I think it’d be useful for programming tutorials that want more than `print()` and `input()`, but don’t want a full blown GUI package. You can run `python -m buttonpad`` to view several example programs I made with it (calculator, Conway’s Game of Life, a few games, etc.)

I’d be interested in what people think.

> **[Client Challenge](https://pypi.org/project/buttonpad)**

> **[GitHub - asweigart/buttonpad: If your app only needs buttons, this...](https://github.com/asweigart/buttonpad/)**
>
> If your app only needs buttons, this cross-platform GUI toolkit for Python gives you a configurable grid of buttons.

> **[ButtonPad: A Simple, Limited Python GUI Toolkit Built on Tkinter](https://inventwithpython.com/blog/buttonpad-introduction.html)**
