My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more
What are the best ways to make GUIs in Python?

What are the best ways to make GUIs in Python?

detimo's photo
detimo
·May 5, 2020

There are many modules that you can use to build GUIs. They have different widgets and features. What is best ultimately depends on your business requirements. I suggest trying them all out and seeing what works for you.

One of the standard GUI modules is Tkinter, which is quite good but limited in the number of widgets that are available. Tkinter is quite good, but it's very basic at the same time.

tkinter.png

PyQt is a popular choice, it has loads of widgets and works on many platforms. It comes with a drag and drop designer that saves you a lot of time. But it's not native. While PyQt is great, for commercial products you'd need their commercial license.

designer

wxPython is a module that is native, you get the native OS widgets on every platform. But the downside of this is that those widgets may be available on one platform but not the other. It also has less support and learning resources.

wxpython.jpg

Jython gives Python access to Java, this is something you could use if you like. That way you can run Python from Java or Java from Python.

There's Kivy, which is designed around touch interfaces and thus doesn't really have the desktop look.

kivy

Another option is to go the Web App route with a module like Flask. The good thing here is that you have all the web available and it will look the same everywhere, downside is you need to run a server.