uwestoehr wrote: ↑Thu Sep 17, 2020 11:26 am
... I would like to understand why Qt 4 is a benefit for us.
The transition to Py3/Qt5 came relatively late to FreeCAD. Release 0.18 was the first one to include proper support for Py3/Qt5. Before that, some developers were testing Py3/Qt5 with v0.17, but most pre-compiled packages were still Py2/Qt4.
Given this, I remember threads over the last two years that mentioned that Py2/Qt4 worked better than Py3/Qt5; the reason for this is probably the different versions of Qt5 available, which ranged from Qt 5.5 to the present Qt 5.15. For example, until recently FreeCAD 0.19 on the Raspberry Pi could only be compiled as Py3/Qt4, and not Py3/Qt5. This is not a problem now as the Pi4 can now install Ubuntu, and there it all seems to work.
So, I am not saying that Py2/Qt4 is necessary in present day. It's just how the software evolved over the years that we have this combination now. I am totally in favor of removing Py2/Qt4 support once v0.19 is released as stable. In my opinion, v0.20 should be Py3/Qt5 only; then it would be wise to use more advanced features of both Python 3 and Qt 5 (which today aren't employed to maintain easy compatibility with Py2/Qt4).
By the way, the situation with Qt6 is still sketchy (C++17 required, no open source LTS version), so that means that we may have to target the latest LTS version of Qt5 for a long time.