Creating GUI Interfaces for Python using PySimpleGUI

by Paul F. Watson
Updated 8 September 2019

Pure Basic Image

PySimpleGUI: An amazingly easy to learn Python Library that enables rapid development of Graphical User Interfaces (GUIs for short). It can be downloaded for free from GitHub and is available for Mac, Windows PC, Lenux PC and Raspberry Pi computers.

The goal of the PySimpleGUI team was to have folks successfully creating GUIs in a matter of hours. The team recognized that "so many people in the Python world have been left out when there was only TKinter...." I believe, PySimpleGUI is the silver bullet that will address this issue.

Below, I describe some of the capabilities provided by this library and describe my personal experience in applying it to one of my projects.

Capabilities: The PySimple GUI library provides commands which enable use of a wide range of GUIs widgets. Reported elsewhere, the commands are built "on top of" the TKinker Python Library and should thus be seen as a simplified way of programming TKinker based widgets. The illustration at the top of this article was built with PySimpleGUI27. A partial list of widgets follows:

My Experience:

If you are a risk taker, you can use the GitHub Tutorial Link below & create your first GUI in 15 minutes. Personally, I am rather cautious & want to understand quite a bit before diving in. As a result, I spent 12 hours looking at examples & building my own "stripped down" versions of those provided by others. I eliminated 'bells and whistles', and concentrated on the core commands before moving forward. Then built two GUIs for my project. I was amazed how quickly I was able to code and debug them.

PySimpleGUI is a relatively new package. While the supply of Internet code listing examples is thin, GitHub provides 170 examples and my companion article provides several as well. Below, links are provided to both my article & GitHub PySimpleGUI entry points.

My System: I use a Mac with High Sierra OS, Python 2.7 and the CodeRunner IDE. This combination worked well as the GUIs I was building did not conflict with the CodeRunner IDE. Some articles suggest that such conflicts with IDEs are common; but CodeRunner for Mac worked well.

Why Am I Using Python 2.7? I develop in Python 2.7 because I have an older Mac with resident Python 2.7. Please be aware that the GitHub site will discontinue listing Python 2.7 (and likely PySimple GUI27 as well) on 31 December 2019. PyPI will continue to host Python 2.7 for PIP installs. The world is updating to Python 3 and we should also!

Problems:

The Future for PySimpleGUI: PySimpleGUI is a brillient tool that can produce a quality GUI very quickly. The return values from the GUI are easily caught & used to control your program. This tool has a wonderful future for folks who want to create professional looking interfaces.

What to Download: There are many articles on downloading both Python and the PySimpleGUI. If you own a Mac, you already have Python & you just need to download the PySimpleGUI library. PC users will need to download both Python and PySimpleGUI. If your computer is loaded with Python 2.7, then download PySimpleGUI27. If your computer is loaded with Python 3, then download PySimpleGUI. If making a new install, you should use Python 3 & PySimpleGUI because support for version 2.7 will soon disappear. The Idle IDE that comes with Python may have compatibility issues with PySimpleGUI. I recommend CodeRunner, Komodo or PyCharm.

Want PySimpleGUI Code Examples? The linked articles include tutorials, examples & documentation for PySimpleGUI27. My examples are 'stripped down' and contain few optional parameters which tend to confuse an understanding of core commands. I especially recommend the GitHub Tutorial link below. It is a great place to start!



Contact the author paul-watson@sbcglobal.net by e-mail.
© September 2019 All Rights Reserved
Paul F. Watson


Dionysus.biz Home Page