DEV Community

Cover image for Should I go with PyQT for beautiful Python GUI?
threadspeed
threadspeed

Posted on

Should I go with PyQT for beautiful Python GUI?

If you want to make a beautiful GUI with Python, you should go with PyQt. It comes with many widgets and has a modern look and feel.

It's cross platform, this means it works on Windows, Mac OS X and Linux. You won't have to spend a lot of time rewriting the code to make it work.

If you are new to PyQt, I recommend this book

PyQt vs Tkinter
Tkinter (another GUI module) has a limited number of widgets. So even though Python IDLE was made in Tkinter, you can't really make large apps.

PyQt on the other hand has:

  • Widgets for complex UI design.
  • Cross platform
  • Attractive UI can be designed
  • Easy to work with

It also has continuous support, because it's based on the QT framework.

some of the many qt widgets

PyQt vs wxPython
wxPython tries to map the native UI and create a common interface. The problem with this approach is that the widgets don't always overlap and are not 100% compatible. This may cause you extra work when trying to run your app on other platforms.

The PyQt documentation is also a lot larger. There are many getting starts howto's. The GUI designer that's available for wxPython is also no match for the PyQt designer.

Summary
So to summarize:

  • Tkinter is good for small applications, but as soon as you need something more advanced it can't do it

  • wxPython howto's aren't as complete as good as PyQt howto's and less features

  • PyQt comes with the most widgets and a complete GUI designer that isn't available for Tkinter or wxPython

Related links:

Top comments (1)

Collapse
 
haruanm profile image
Haruan Justino

For desktop gui I'm now considering flutter, maybe this is an option.