From: Fabien C. <fab...@gm...> - 2013-01-14 16:13:54
|
*Hi, I would like to see Qt5 available in python under LGPL license. There is currently 2 projects: - PyQt It’s a GPL or commercial project that already support Qt5. Use SIP as binding tool. - PySide 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. In Release: QtCore.pyd - shiboken: 2 200 Ko - sip: 2 103 Ko - swig: 6 118 Ko QtGui.pyd - shiboken: 8 468 Ko - sip: 7 500 Ko - swig: 25 428 Ko In Debug: QtCore_d.pyd - shiboken: 5 927 Ko - swig: 10 325 Ko QtGui_d.pyd - shiboken: 26 825 Ko - swig: 44 148 Ko Regards, Fabien* |