[PyKDE] SIP Roadmap

gvermeul at grenoble.cnrs.fr gvermeul at grenoble.cnrs.fr
Fri Jan 3 14:13:01 GMT 2003


> On Friday 03 January 2003 11:46 am, gvermeul at grenoble.cnrs.fr wrote:
> > > For those interested I've added a SIP Roadmap to the website at
> > > http://www.riverbankcomputing.co.uk/sip/roadmap.php which describes the
> > > main objectives and features for SIP v4.
> > >
> > > Comments welcome.
> >
> > As author of PyQwt, an extension package that I support also on Qt-230-NC,
> > I have the following comments:
> >
> > (1) wrt the obeying to the Python API export rules. This also facilitates
> > the link step on other platforms than MacOS/X: under current scheme this is
> > a minor problem on Posix systems, but on Windows, it means rebuilding
> > PyQt-NC and sip-NC to rebuild the necessary *.exp and *.lib. Great!
> 
> I hadn't appreciated that. I'll try and remember to include a sub-package, 
> excluded from the "Typical" installation, that includes the .exp and .lib 
> files. Remind me when I forget.
> 
> > (2) wrt to the limitation to Qt >= 3.0.0. This will make it more difficult
> > for me to keep PyQwt compatible with Windows (I have no commercial version
> > for Qt, neither for PyQt). Let me point out that I know of at least 2
> > companies with a commercial license for PyQt that are also using PyQwt.
> 
> Actually the real problem is that (1) requires qmake rather than tmake. I 
> don't think there will be an issue with Qt itself.

I think that you are wrong, here. See below.

> 
> > From a more general point of view:
> >
> > (3) Using the new-style Python-2.2 classes allows to map a C++ inheritance
> > tree to Python (I have played with this, writing a wrapper for Fltk by
> > hand).
> > This is a great step forward for sip, also as a wrapper tool for other
> > libraries than Qt. In this respect, it would be nice if there is
> > support for two Python sip extensions modules, "sipQt" and "sip", with
> > and without Qt support.
> 
> How would that help? If you use a non-Qt wrapper with a Qt-sip module, it will 
> work fine. If you try a Qt wrapper with a non-Qt-sip module you will get an 
> exception.
> 

I suppose you are right. I just had the idea that it would be more clear
if you use sip to wrap classes for systems without Qt.

> > In summary, sounds great, but I'd like to keep support for Qt >= 2.3.0.
> 
> As I said, it comes down to tmake/qmake. tmake doesn't support plugins which 
> is what a pure Python module is - but maybe that won't be an issue for 
> Windows and UNIX. It will be worth playing with once snapshots of SIP v4 
> appear.
> 
IMHO, the point that you are missing is that Qt style plugins and Python
extension module plugins are two different type of plugins. If you are
using the Python import API, the extension module is a shared library
from the point of view of Qt (or the linker). The import_QtOtherExtension()
statement in the initQtExtension() function takes care of dynamic loading.

Python does not care about Qt style type of plugins.

So, I am pretty confident that you can keep support for Qt < 3.0.0.

Gerard



-------------------------------------------------------------
This message was sent using HTTPS service from CNRS Grenoble.
         --->   https://grenoble.cnrs.fr   <---         





More information about the PyQt mailing list