[PyKDE] PyKDE-3.5-1

Jim Bublitz jbublitz at nwinternet.com
Sun Apr 6 11:00:01 BST 2003


On 06-Apr-03 Gordon Tyler wrote:
> On April 5, 2003 03:40 am, Jim Bublitz wrote:
>> This version requires sip 3.5 and PyQt 3.5.
 
> <snip>
 
>> This version builds against Python from 1.5.2 through 2.2.2
>> (haven't tested the 2.3 beta), KDE 2.1.1 through 3.1.1, and Qt
>> 2.3.0 through 3.1.1. 
 
> I'm trying to compile it against sip-x11-gpl-snapshot-20030322
> and PyQt-x11-gpl-snapshot-20030321 on a Debian testing machine
> with Python 2.2.2, official KDE3.1.1 packages and Qt packages
> version 3.1.2-0woody1. I manually  applied the patches to PyQt
> required to compile it on Debian (the style stuff). PyQt works
> fine.

Should be no problem (other than below) in compiling against that
snapshot.
 
> static QPtrList<KMainWindow>* memberList;
> 
> But the mapped type in the sip file, MainWindowList, is using
> QList.
 
> I'm changing various references to qlist.h to use qptrlist.h and
> retrying the  compile. I'll let you know which ones I had to
> change to make it compile.

My Qt sources (SuSE and I assume RH, since it compiled here) have
the following:

in qlist.h (has one):
--------------------

    #include <qptrlist.h>

in qptrlist.h:
-------------

    <QPtrList declarations>

    #define QList QPtrList

As can be seen from the above, there is no difference except name
between QList and QPtrList. Regardless, that should be changed in
the PyKDE sources for KDE >= 3.0.0. Actually, I thought I had
caught all of those. I should have seen those flagged when
generating new code.

In each of these, you'll need to change QList -> QPtrList and
qlist.h -> qptrlist.h where they occur (that means inside the
%MappedType blocks too):

khtml_part.sip
khtmlview.sip
kmainwindow.sip
kprocctrl.sip
kurifilter.sip
kuserprofile.sip

kmainwindow.sip would be the first you'd encounter when building.
The rest of the occurances appear to be properly versioned out, or
the sip files aren't included in the build for KDE 3 versions For
example, any QList/qlist.h preceded by:

   %If ( - KDE_3_0_0 )

won't be seen if you're building with KDE >= 3.0.0 (it's
effectively the same as '#if KDE_VERSION < 300' in C++). Also, if
you don't see KDE_3_1_1 at the top of the sip file in the comments,
that sip file won't be seen when you build for KDE 3.1.1.

I'll try to fixup the build.py bug noted in an earlier post and this
one and put out a new release somewhere around the middle of the
week (taxes next couple of days).

Jim




More information about the PyQt mailing list