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 potable 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 :

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 :

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-licence, 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.

Links for PySide :

4. PyGTK :

PyGTK is an open source software, comes under LGPL licence 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 :


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 :

Kivy Official Link :
Few Kivy Projects :

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :


Please write to us at to report any issue with the above content.