This article explores various toolboxes for building a application with a GUI in Python3. Programming a GUI application is easy to get started once you have a basic knowledge of Python and OOP. The five best GUI toolkits and a brief overview of each are discussed below.
TKinter — it is the standard open source toolkit for Python. TKinter — it is a wrapper for the tcl / TK GUI. TKinter is popular for its simplicity and a very long and active community. In addition, it is included in most Python binary distributions. TKinter is fully compatible with Macintosh, Windows and Linux platforms. This is a good toolbox to start with as TKinter is generally preferred for small graphics applications.
A simple TKinter window:
Python doc for TKinter: https://docs.python.org/3/library/tk.html
PyQt toolkit — it is a wrapper for the QT environment. PyQt is one of the most popular C++ cross-platform Python bindings, implementing a QT library for QT framework . PyQT can be used for a large scale GUI application since it doesn’t take a lot of time to develop. One can simply design the window with QT designer and easily convert the .UI code to code .PY (Python) and after that the logic can be attached to each widget. But in the early days of learning PyQt, writing code by hand is always good practice, because this is how you actually learn.
Simple PyQt Window:
Official link: https://riverbankcomputing.com
Like PyQt, PySide em > is also a Python binding for Qt’s cross-platform GUI toolkit. PySide was released by Nokia (the former owners of the Qt toolkit) with an LGPL license after Nokia failed to reach an agreement with PyQt developers Riverbank Computing to change the licensing terms to include the LGPL as an alternative license. It entirely depends on the developer’s choice, whether he / she wants to use PyQt or Pyside.
PyGTK — it is open source software and is licensed under the LGPL. PyGTK — it is a cross-platform widget toolkit. PyGTK — it is the standard GNOME toolkit. You can find many Linux platform GUIs developed with PyGTK.
Link to documentation for PyGTK: http://www.pygtk.org
Kivy — it is an accelerated OpenGL environment very popular among developers for developing GUI applications. Kivy — it is an open source Python library that can also be used for NUI (Natural User Interface) development. With Kivy, you can develop mobile apps and other multi-touch apps. Apps developed with Kivy can run on Android, IOS, Linux and Windows. Developing apps using Kivy is really fun. If you’ve ever heard of this awesome "2048" Android app, it’s developed using Kivy.
Image source: https://kivy.org/#gallery