DEV Community

Cover image for Which features does PyQt possess that Tkinter lacks?
threadspeed
threadspeed

Posted on

Which features does PyQt possess that Tkinter lacks?

Both PyQt and Tkinter are GUI modules for Python, but PyQt comes with additional features like networking, databases etc.

PyQt is a binding for Qt is probably the best cross-platform interface toolkit available right now, Tkinter may give you some troubles here.

If you don't know Python yet, you should learn Python before trying to make GUI apps with Python.

Look and feel

PyQt (Qt) is stable, mature, cross-platform and completely native. Tkinter generally looks like a few decades ago.

Take a look at these calculator applications, the first one in tkinter and the next one in pyqt.

Tkinter look and feel:

tkinter calculator

PyQt look and feel:

pyqt calculator

PyQt can adapt to the style of your operating system:

pyqt

Widgets

For small apps Tkinter can be a good choice, but it comes with a limited number of widgets. PyQt comes with many widgets and a designer.

PyQt is supported by the Qt company, so it keeps getting more and more features. Tkinter has had the same number of widgets for over a decade.

Code

PyQt uses a signal-slot system that takes some time getting used to. Tk works on an old fashioned callback system.

For PyQt there's a lot more learning resources available than Tkinter. But it has a steeper learning curve, Tkinter is very small so easy to learn.

Here are some resources to learn PyQt:

To learn Tkinter:

Top comments (0)