I would like to see Qt5 available in python under LGPL license.
There is currently 2 projects:
Itís a GPL or commercial project that already support Qt5.
Use SIP as binding tool.
Itís an LGPL project, but there is currently no support for Qt5. Only Qt4.7 and Qt4.8 are supported. We currently use this one, but there is nothing planned for Qt5 support.
Use Shiboken as binding tool.
I just started a discussion with PySide guys to propose to use SWIG for the binding tool. You could see the discussion: http://lists.qt-project.org/pipermail/pyside/2013-January/000957.html
As explained, we created a prototype of Qt binding in SWIG. There is a lot of Qt specific things to deal with, like Signal/Slot, QObject parenting ownership, Qt Properties, QVariant, and custom classes for string, vectors, etc. The prototype works even if there is a lot of missing glue to make it really pythonic.
One problem to continue in this direction is binaries sizes. They previously used Boost.Python and switch to Shiboken for this reason. I donít see the difference on the principle between Swig for python and shiboken. Both use CPython in the same way. Do you have an idea, why there is a big difference on binaries sizes?
Maybe itís only a problem in our rules... but I donít see how it could be that.
- shiboken: 2 200 Ko
- sip: 2 103 Ko
- swig: 6 118 Ko
- shiboken: 8 468 Ko
- sip: 7 500 Ko
- swig: 25 428 Ko
- shiboken: 5 927 Ko
- swig: 10 325 Ko
- shiboken: 26 825 Ko
- swig: 44 148 Ko