back

How?


How is this page coming to you? It's hosted in an s3 bucket provided by Amazon Web Services, and using just plain old javascript and html (actually, Vue.js is used for the color-picker, but that's all).

Why?


Python is a wonderful programming language, but the tools available for building GUIs to go with it are surprisingly sparse. A few are available for download, of course, but the steps involved in installation can be confusing and prohibitory (especially so if you aren't familiar with terms such as tarballs and/or don't know how to edit your PATH environmental variables).

I spent a few years building ugly and clunky user interfaces in Python (and taking hours/days in the process), then, in early 2019, I stumbled into the wonderful world of C# programming, using Microsoft Visual Studio as a development environment. Using the GUI builder included with Visual Studio, I was able to create complex GUIs (which would have taken hours or days, or just been impossible using Python and Tkinter) in a matter of minutes.

This page is meant to be a kind of online version of such a GUI builder. I hope it makes your Python GUI building experience more pleasant, and quicker, than it otherwise might be.

Updates

July 22nd 2020:
Realized that, if progress bars were created then deleted, they were not being deleted from the generated python code. Fixed that bug!.

June 18th 2020:
Made it impossible to create 2 widgets with the same name (used to throw an error).

June 17th 2020:
Changed the layout of tools and tool settings, also made it necessary to input all values before creating widgets (or else the "Use these values" button cannot be clicked).

June 16th 2020:
The generated Python code now appears in a text box, pre-formatted. With the click of a button, you can select it all and copy it to the clipboard, for pasting into your Python console.

June 15th 2020:
Seeing hundreds of visits a day from all over the globe, thank you for using this tool! Currently debugging as much as possible. Added icons associated with combo boxes and spinboxes, to make what is displayed in the browser a little more realistic. Also, added a picture widget, via which *.gif files can be displayed on the form.

June 12th 2020:
Added a Combo box widget, and a spinbox widget.

June 10th 2020:
Added a "Snap to grid" function, which causes widgets to snap into 10x10 pixel areas (easier to align widgets).

June 9th 2020:
Added a Progress Bar widget.

June 8th 2020:
Adjusted some of the widget coordinates so that what appears in the web browser is more similar to what is actually displayed when the code is run in Python.

June 5th 2020:
Added the ability to select fonts, font-styles, and font-weights.

June 2nd 2020:
Added the ability to delete objects after they have been created.