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 : 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-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 :
https://wiki.qt.io/PySide
http://pyside.github.io/docs/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 : 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
Kivy Official Link : https://kivy.org/#home
Few Kivy Projects : https://github.com/kivy
Recommended Posts:
- Python | ToDo GUI Application using Tkinter
- Hierarchical treeview in Python GUI application
- PyQt5 - GUI Application to get IP address
- Create First GUI Application using Python-Tkinter
- GUI chat application using Tkinter in Python
- Login Application and Validating info using Kivy GUI and Pandas in Python
- Build a GUI Application to Get Live Stock Price using Python
- Build a GUI Application to get distance between two places using Python
- GUI Application for Live Cricket scoreboard Using Python
- GUI application to search a country name from a given state or city name using Python
- Build an GUI Application to Get Live Air Quality Information Using Python.
- Build an Application to Search Installed Application using Python
- Python3 Intermediate Level Topics
- How to implement Dictionary with Python3?
- How to write Comments in Python3?
- Python2 vs Python3 | Syntax and performance Comparison
- Automate the Conversion from Python2 to Python3
- Convert String to Double in Python3
- Introduction to Python3
- Python3 - if , if..else, Nested if, if-elif statements
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. 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.

