PyQt vs Pyside
Tags: python, pyqt, desktop
Published: 2019-10-28 09:54:28

---
title: PyQt vs Pyside
cover_image: https://thepracticaldev.s3.amazonaws.com/i/meejkuxjai269l1q2eey.png
published: true
tags: python, pyqt, desktop
---
PyQt has been around for quite some time and is backed up by <a href="https://riverbankcomputing.com/software/pyqt/intro/">Riverbank Computing Limited</a>. Still, when <a href="https://nokia.com">Nokia</a> 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 <a href="https://pythonbasics.org">Python programming</a>

**Advantages of PyQt**

1. GUI programming with <a href="https://pythonprogramminglanguage.com/pyqt/">Qt</a> is created around the concept of <a href="https://pythonspot.com/pyqt5-signals-and-slots/">signals and slots </a> for communication amongst items. A message is triggered when an <a href="https://pythonpyqt.com/pyqt-events/">event</a> 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*.
 
<img src="https://thepracticaldev.s3.amazonaws.com/i/6qv1w3lj1xmaxsr7lf0d.png">

**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. 
 
**Resources**
* <a href="https://gum.co/pysqtsamples">Course on PyQt Desktop Apps</a>
* <a href="https://pythonbasics.org/pyqt-hello-world/">PyQt programming tutorial</a>
* <a href="https://wiki.qt.io/Qt_for_Python">PySide2 Wiki</a>