Creating GUI Interfaces for Python using PySimpleGUI

by Paul F. Watson
5 August 2019

Pure Basic Image

PySimpleGUI is a 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. 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 rapid development of Graphical User Interfaces (GUIs). Reported elsewhere, the commands are built "on top of" the Ktinker Python Library and should thus be seen as a simplified way of programming Ktinker based widgets. The illustration at the top of this article was built with PySimpleGUI27. A partial list of widgets follows:

My Experience: The goal of the PySimpleGUI team was to have folks successfully creating GUIs in a matter of hours. Personally, I tend to be rather cautious & wish to understand quite a bit before diving in. As a result, I spent three days (12 hours total) looking at examples & building my own examples which were usually very "stripped down" versions of those provided by others. I tried to eliminate all the 'bells and whistles' and concentrate on the core commands before moving forward. I finally felt confident and moved ahead, building two GUIs for my project and I was amazed how quickly I was able to code and debug them. Something clicked in my mind, and I suddenly knew how to proceed.

PySimpleGUI is a relatively new package. As a result, the supply of good examples and discussions is thin. I was forced to perform web wide searches rather than relying on the resources that have proven good in the past. Many of the examples found often contained errors, or perhaps this new library simply evolved after the articles were written. But by piecing together examples from many web sites, I was able to create working examples for all of the widgets listed above. Probably the best information is provided on GitHub, https://pysimplegui.readthedocs.io/en/latest/tutorial/.

My System: I use a Mac with High Sierra OS, Python 2.7 and the CodeRunner IDE. This combination works well and the GUI commands I was building did not conflict with the CodeRunner IDE GUI. Some articles suggest that GUI conflicts with IDEs are common; but fortunately, I experienced none of these problems.

Problems:

The Future for PySimpleGUI: Despite a bit of aggrivation, PySimpleGUI is a brillient tool that can produce a quality GUI very, very quickly. It is not difficult once you build a library of examples for yourself. The return values from the GUI are easily caught and 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 onto your computer. If you own a Mac, you already have Python & you just need to download the PySimpleGUI library. If your computer is loaded with Python 2.7, then download PySimpleGUI27. If your computer is loaded with Python 3, then download PySimpleGUI. The Idle IDE that comes with Python works, but I personally prefer CodeRunner. Komodo is good also. I know some really good folks who like PyCharm.

For Windows OS users, the Python language will have to be downloaded. There are many on line explanations on how to proceed and the path does not look extremely difficult. Personally, I have found Python to be a powerful language suited to many purposes. It is worth the effort.

Want PySimpleGUI Code Examples? The linked article provides examples of "stripped down" programs that produce various widgets on my computer. These 'stripped down' listings contain few nonessential settings which district an understanding core commands. See PySimpleGUI code examples.



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


Dionysus.biz Home Page