DEV Community

Cover image for PyQt vs Pyside

Posted on • Updated on

PyQt vs Pyside

PyQt has been around for quite some time and is backed up by Riverbank Computing Limited. Still, when Nokia owned qt, they developed the Qt binding PySide.

Mostly, the two concepts are identical, as the Qt for Python API is created to match with PyQt.

Anyhow, for in-depth knowledge of those concepts, we need to analyze the advantages and disadvantages of PyQt and PySide.

Both PyQt and PySide can be used to make desktop software, but you should know Python programming

Advantages of PyQt

  1. GUI programming with Qt is created around the concept of signals and slots for communication amongst items. A message is triggered when an event happens, and slots handle the said event. Therefore, the advantage of using Qt for PyQt is its code flexibility and cleaner codebase.

  2. Qt is not just a simple GUI framework, as it makes use of a wide array of native platform APIs, meaning that one codebase can suit the needs of several platforms and function the same across them.

  3. PyQt is considered to be one of the most stable frameworks, as it does not pose challenges when used for large-scale applications.

  4. PyQt comes with data about loading UIs created with Qt Designer, in the form of WYSIWYG interface creator.

Disadvantages of PyQt

  1. There are not available any Python-specific resources on classes in PyQt5, meaning you can only use the data in C++. It can be quite confusing for a programmer that does not have extensive experience in either C++ or Qt.

  2. PyQt comes with a multitude of resources and data to be learned. It is a robust framework that can take time to get familiar with.

Advantages of PySide

  1. PySide represents the official set of Python bindings backed up by the Qt Company.

  2. PySide comes with a license under the LGPL, meaning it is simpler to incorporate into commercial projects when compared with PyQt.

  3. It allows the programmer to use QtQuick or QML to establish the user interface.

  4. It allows the usage of primary widget-based user interface resources.

Disadvantage of PySide

  1. As it is the case with PyQt, it requires C++ knowledge.

  2. Lack of proper documentation, which leads to difficulty in learning all its insights. PySide requires knowledge of Qt C++ source code in order to understand how to use PySide

PyQt and PySide for Python come with both advantages and disadvantages, which is why it is no simple task to choose one of them.

Anyhow, their features and characteristics are quite similar. The most frequently used in coding remains the PyQt, due to the access to a wide array of documentation.


Top comments (2)

lloydjackmanukpl profile image

What would you recommend to a beginner / intermediate Python programmer needing a fairly simple GUI, but without needing C++ knowledge? The QT WYSIWYG tool looks like a strong argument for using that. I've used EasyGUI for some quick and dirty apps I've made for my own use.

amigosmaker profile image

You can use the GUI tool, which takes care of most things. If not PyQt, could go for Tkinter. Downside of Tkinter is it doesn't have a native OS look.

There are some other frameworks like wxPython, pygtk, but they lack a really good WYSIWYG tool