Writing for PyQt5 & PySide2

Heads up! You've already completed this tutorial.

lpozo | 2020-05-07 20:08:51 UTC | #1

https://www.pythonguis.com/blog/pyqt5-vs-pyside2/

Great post Martin! I think you can also use the EAFP approach, and do something like this:

python
try:
# PyQt5
from PyQt5 import QtGui, QtWidgets, QtCore
from PyQt5.QtCore import pyqtSignal as Signal, pyqtSlot as Slot
except ImportError:
# PySide2
from PySide2 import QtGui, QtWidgets, QtCore
from PySide2.QtCore import Signal, Slot

In the qt.py file. What do you think?


martin | 2020-05-07 20:10:53 UTC | #2

Thanks for the comment and good point! This works great for applications where you want to support it running on either binding.

Just a warning though, it might not work so great if you're writing a library where your library is imported by an app using PySide2 but PyQt5 is available in site packages. Bit of an edge case, but exactly the weird things that happen when you write and distribute a library :)


Over 10,000 developers have bought Create GUI Applications with Python & Qt!

To support developers in [[ countryRegion ]] I give a [[ localizedDiscount[couponCode] ]]% discount with the code [[ couponCode ]] — Enjoy!

For [[ activeDiscount.description ]] I'm giving a [[ activeDiscount.discount ]]% discount with the code [[ couponCode ]] — Enjoy!

Well done, you've finished this tutorial! Mark As Complete
[[ user.completed.length ]] completed [[ user.streak+1 ]] day streak