Python3 for GUI application | An Overview
This article discusses about the various toolkits to make a GUI Application in Python3. It is easy to start programming a GUI application after gaining basic python and OOP knowledge. The top five GUI toolkits and a brief overview on each of them is discussed below.
1. TKinter :
TKinter is an open source and standard GUI toolkit for Python. TKinter is a wrapper around tcl / TK graphical interface. TKinter is popular because of its simplicity and having very old and active community. Also, it comes included with most binary distributions of Python. TKinter is fully portable for Macintosh, Windows and Linux platforms. It’s a good toolkit to start with, since TKinter is mostly preferred for small scale GUI applications.
A simple TKinter window :
Python doc for TKinter : https://docs.python.org/3/library/tk.html
2. PyQt :
PyQt toolkit is a wrapper around QT framework. PyQt is one of most loved cross platform Python binding over C++ implementing QT-library for QT framework. PyQT can be used for large scaled GUI application, since it takes no time to develop GUI. One can simply design the window using QT designer and easily convert the .UI code to .PY (Python) code and after that logics can be bind to each widget. But at the beginning stage of learning PyQt, writing code manually is always a good practice, because that how you actually learn.
A simple PyQt window :
Official Link : https://riverbankcomputing.com
3. PySide :
Just like PyQt, PySide is also a Python binding of the cross-platform GUI toolkit Qt. PySide was released by Nokia (the former owners of the Qt toolkit) with LGPL-license, after Nokia failed to reach an agreement with PyQt developers Riverbank Computing to change its licensing terms to include LGPL as an alternative license. It’s totally upto developer’s choice, whether he/she wants to use PyQt or Pyside.
4. PyGTK :
PyGTK is an open source software, comes under LGPL license service. PyGTK is a cross platform widget toolkit. PyGTK is the standard toolkit for GNOME. You can find good number of Linux platform GUI, which are developed with PyGTK.
Documentation link for PyGTK : http://www.pygtk.org
5. Kivy :
Kivy is a OpenGL accelerated framework, very popular among developers for developing GUI apps. Kivy is an opensource Python library, which can also be used for developing NUI (Natural User Interface). With Kivy, mobile applications and other multitouch application softwares can be developed. Applications developed with Kivy can run on Android, IOS, Linux and Windows. Developing application using Kivy is really interesting. If you ever heard about this awesome android app ‘2048’, it is developed using Kivy.
Image_source : https://kivy.org/#gallery