There comes a time in most programmers’ software journeys when they decide to skip the basic examples and create a graphical interface to their program.. In Python, getting started with GUI programming is not very complicated, but requires the user to make some choices to get started.. Fortunately, there are many options available to programmers who want to create an easy way for users to interact with their programs.. Many GUI packages are available, including those that are native to Linux, Windows, and Mac, or that work on all three.. In this article, we will list 5 open source Python GUI Frameworks.
PyQt
PyQt implements the popular Qt library. So if you’ve developed applications for KDE or any other Qt-based desktop environment, you’ll get used to Qt pretty easily anyway.. While you benefit from the tools and knowledge of the Qt community, you also get the chance to develop applications in Python language that looks familiar on many platforms.
Writing Python applications in the Qt framework means you have access to QtCreator, which includes a designer mode for your application’s layout.
PyQt is dual licensed under both a commercial and GPL license unlike the Qt project itself, and the primary company that supports PyQt provides a license FAQ (Frequently Asked Questions) to help you understand what this means for your application.
Tkinter
If there was only one package for Python that could be called the “standard” GUI toolkit, it would definitely be Tkinter. Tkinter is a graphical interface and language development package that first became popular in the early 90s.. The biggest advantage of using Tkinter is that there are lots of resources, including books and code examples, and a large community of users to assist you.. It has simple beginner-level examples and is fairly easy to read by humans.
Tkinter is available under the Python license, above Tcl / Tk’s BSD license.
WxPython
WxPython brings cross-platform GUI library from C++ to Python. WxPython looks a bit more natural on different operating systems than Tkinter because it uses the host system’s widgets to create a GUI. It’s a great beginner library and the developer community is constantly growing..
WxPython uses its parent project and the OSI-approved wxWindows Library License.
Python GTK+ 3
Python GTK+ 3 project, formerly known as PyGTK, is a Python to GTK objects provides bindings. While GTK+ is most commonly used as the foundation for the GNOME desktop, it can also be used for applications on Linux, Windows, and Mac..
When you use Python GTK+ 3, you can use most of the development tools built for GTK+. Most notably is Glade, an interface designer for GTK+ applications. Interfaces designed in Glade are saved as XML and used by the GtkBuilder object in your application code, but the interface you use is drag-and-drop, making it easy to create a dynamic and responsive user interface without having to translate what you see.
Kivy
Kivy is a toolkit for Linux, Windows, Mac and Android, created for rapid development and modern devices. The project is focused on “innovative user interfaces” and has been used for multimedia applications.
Kivy does not have a visual layout program like QtCreator and Glade, but uses its own design language to help you associate UI layout with code objects. This makes it easy to partition classes and functions in your application.
In this article, we have listed 5 open source GUI frameworks for Python.. These Python GUI Frameworks we have listed are not the only options you can use. For more options you can check the “GUI Programming for Python” page on the official Python Software Foundation wiki.