PySimpleGUI - Introduction



Python GUIs for Humans

The PySimpleGui project started as a wrapper around TKinter package, which is bundled with Python’s standard library, with the objective to simplify the GUI building process.

PySimpleGui subsequently added the ability to design desktop GUIs based on PySide library (which itself ports Qt GUI toolkit, originally written in C++, to Python) and WxPython (which ports another popular GUI toolkit called WxWidgets). These libraries are called PySimpleGUIQt and PySimpleGUIWx respectively.

The latest addition to the PySimpleGui family is the PySimpleGUIWeb package which uses the Remi (REMote Interface Library) to construct GUI design that is rendered in a web page.

All the packages in the PySimpleGui group follow the similar API, which means the names of GUI elements, their properties and methods are same in all the four packages. As a result, just by replacing the import statement (and keeping the rest of the code unchanged), one can get the corresponding GUI design rendered. This is in fact the most important feature of PySimpleGui. That’s why, it is known as Python GUIs for Humans.

Comparison with other GUI Frameworks

A Python programmer has a variety of GUI frameworks to choose from, to develop a GUI application. TKinter is the one which is officially included in Python’s standard library. Others, most of them are open source, have to be explicitly installed.

Sr.No. Library & Description
1 TkInter

Included in Python standard library

2 PyQt

Python 3 bindings for the Qt application framework.

3 PySide

Qt for Python (formerly known as PySide) offers the official Python bindings for the Qt cross-platform application and UI framework.

4 PySimpleGUI

Wraps tkinter, Qt (pyside2), wxPython and Remi (for browser support) in a non-OOP API

5 wxPython

Supports Windows/Unix/Mac. Supports Python 2.7 and >=3.4. Wraps & extends the wxWidgets toolchain.

6 PyGObject

PyGObject is a Python package which provides bindings for GObject based libraries such as GTK Replacement for PyGtk.

7 PyForms

A Python framework to develop GUI application, which promotes modular software design and code reusability with minimal effort.

Advertisements