Popular GUI Frameworks

There are several popular Python GUI toolkits. The most popular are as follows:

  • Qt
  • GTK
  • wxPython
  • Tkinter

1. Qt 

Qt is one of the most popular libraries for cross-platform development. It is the main graphical library for the KDE desktop. There have several licenses available with the main ones being for commercial and open-source use. If your application is commercial i.e. closed-source then you must pay for a license to use it. If application is open source then you can use the GPL license; however you will be unable to commercialize your program without upgrading the license.
It contains a graphical layout utility which permits the user to drag & drop graphical widgets for quick design of the interface. On the other hand the developer can hand code the interface layout. It also support non GUI features containing SQL database access, network support, XML parsing. It is written in C++ but python binding is available via PyQt.

2. GTK+

GTK stands for GIMP Tool Kit which is created for development of the GIMP image software. GTK+ developed into the graphical library that controls the GNOME desktop. Widgets are basic building blocks of a GUI application.
GTK+ is open source under the GPL license. When Qt was selected to power the KDE desktop then trolltech had a proprietary license for it. Because it goes against the free Software concept, GTK was created to permit people to use the GNOME desktop and GTK applications as an open source software.
GTK does not essentially have a built-in drag & drop interface however the wxGlade utility gives this functionality. The original GTK was written in C whereas GTK+ is written in C++ using OOP practices and PyGTK is the Python binding for GTK+.

Learn Python

3. wxPython 

It is a cross platform toolkit which is used for creating desktop GUI applications. It is a python implementation of wxWidgets that means programs of python interact with python wrappers of the fundamental C, C++ code. Using wxPython developers can create applications on Mac OS, Windows and on different Unix systems.
wxWidgets is a general purpose cross platform C++ library. wxPython is an open Source Software which is licensed under the GPL. Programs which are written with wxPython use the native widgets of an OS.

4. Tkinter 

It is a Python binding to the Tk GUI toolkit. Tk is the default GUI library for Python development due to its addition in the core Python language. It is the original GUI library for the Tcl language. The Tkinter toolset is quite limited but it is easy to learn making it build simple GUI programs in Python.
It has three built-in layout managers:
Pack geometry manager – Manage widgets in vertical and horizontal boxes
Grid geometry manager – Put widgets in a two dimensional grid
Place geometry manager – Put widgets on their containers using absolute positioning.

Looking to develop Machine Learning and Deep Learning models? Head on to our blog on Python Libraries for Machine Learning.

JPython: A Combination of java and python

It is completely written in Java by Jim Hugunin. Programmers of python can use their python information to Java based development environments and also programmers of java can use the python scripting language as a way to control their Java systems and to test libraries etc.
The JPython installation includes a number of parts:

  • jpython: The equivalent of the Python program
  • jpythonc: It acquire a JPython program and then compiles it to Java class files. The resulting Java class files can be used as any Java class file. For example as servlets or as beans.
  • A set of modules that provide the JPython user with the huge majority of the modules in the standard Python library.

Using JPython is very similar to using Python:

~/book> jpython
 JPython 1.0.3 on java1.2beta4
 Copyright 1997–1998 Corporation for National Research Initiatives
 >>> 2 + 3

This blog will help you get a better understanding of Automate Your Coding with Python!

Course Schedule

Name Date
Python Course 2021-10-16 2021-10-17
(Sat-Sun) Weekend batch
View Details
Python Course 2021-10-23 2021-10-24
(Sat-Sun) Weekend batch
View Details
Python Course 2021-10-30 2021-10-31
(Sat-Sun) Weekend batch
View Details

Leave a Reply

Your email address will not be published. Required fields are marked *