physimals / quantiphyse

Application for analysis and modelling of volumetric medical imaging data
Apache License 2.0
27 stars 3 forks source link

Migrate to pyside2 #11

Closed mcraig-ibme closed 5 years ago

mcraig-ibme commented 5 years ago

PySide depends on the rather old Qt4 making installation difficult. PySide2 is the new Qt5 api and we should target moving to this as soon as possible.

The main issue right now is pyqtgraph. The existing release 0.10.0 does not support PySide2. The current development code claims to but in practice the examples do not run well, and a minimal port of quantiphyse (excluding widgets for now) does not work out of the box either:

image

Here the image orientation is different, the mouse events are not all working and the colour histogram widgets are not draggable. The widgets cause a segfault currently. So there is some way to go here.

It would be interesting to test against PyQt5 as well - we cannot distribute with this because of licensing but it might show if the issues are with pyqtgraph-PySide2 or Quantiphyse making assumptions about the QT api which are no longer valid in Qt5.

mcraig-ibme commented 5 years ago

Some progress - it seems the current version of PySide2 on PyPi works with current github pyqtgraph snapshot. The version on conda-forge is too old however:

Here's quantiphyse running under pyside2:

image

Not well tested at the moment but fundamentally working

mcraig-ibme commented 5 years ago

Now switched to pyside2 for current pip release.

The pyqtgraph issue has been 'resolved' temporarily by forking pyqtgraph to release the pyqtgraph-qp package on PyPi. When pyqtgraph 0.11 comes out we will delete this and switch to the official release.