[PyKDE] PyQt4 + Qt4.0.1-debug or Qt4.1.0

David Boddie david at boddie.org.uk
Thu Dec 22 00:28:11 GMT 2005


On Thu Dec 22 01:09:37, Andreas Pakulat wrote:
> On 21.12.05 23:05:54, Phil Thompson wrote:
> > On Wednesday 21 December 2005 10:51 pm, Andreas Pakulat wrote:

> > > 2. Is PyQt4 currently already supposed to work with Qt4.1.0? I guess
> > > not, because compiling with it gives an error about the QTextDecoder
> > > Copy-Constructor being private.
> > 
> > No - but just mark those ctors as private in the .sip files.
> 
> Ah, ok that was easy. Lets see how far I can get compiling the snapshot
> with Qt4.1.0. I'll post a diff if I get through.

In the meantime, here's a quick fix.

Patch sip/QtCore/qtextcodec.sip with this:

--- sip/QtCore/qtextcodec.sip.orig 2005-12-05 00:17:06.000000000 +0100
+++ sip/QtCore/qtextcodec.sip 2005-12-05 00:25:38.000000000 +0100
@@ -58,7 +58,7 @@
 
     typedef QFlags<QTextCodec::ConversionFlag> ConversionFlags;
 
-    struct ConverterState
+    class ConverterState
 {
 %TypeHeaderCode
 #include <qtextcodec.h>
@@ -66,6 +66,9 @@
 
         ConverterState(QFlags<QTextCodec::ConversionFlag> f = 
QTextCodec::DefaultConversion);
         ~ConverterState();
+
+    private:
+        ConverterState(const QTextCodec::ConverterState &);
     };
 
     QString toUnicode(const char *in /Array/, int length /ArraySize/, 
QTextCodec::ConverterState *state = 0) const;
@@ -85,6 +88,9 @@
     static void setCodecForTr(QTextCodec *c);
     static QTextCodec *codecForCStrings();
     static void setCodecForCStrings(QTextCodec *c);
+
+private:
+    QTextCodec(const QTextCodec &);
 };
 
 QFlags<QTextCodec::ConversionFlag> operator|(QTextCodec::ConversionFlag f1, 
QFlags<QTextCodec::ConversionFlag> f2);
@@ -97,9 +103,11 @@
 %End
 
 public:
-    explicit QTextEncoder(const QTextCodec *codec);
     ~QTextEncoder();
     QByteArray fromUnicode(const QString &str);
+
+private:
+    explicit QTextEncoder(const QTextCodec *codec);
 };
 
 class QTextDecoder
@@ -109,8 +117,10 @@
 %End
 
 public:
-    explicit QTextDecoder(const QTextCodec *codec);
     ~QTextDecoder();
     QString toUnicode(const char *chars /Array/, int len /ArraySize/);
     QString toUnicode(const QByteArray &ba);
+
+private:
+    explicit QTextDecoder(const QTextCodec *codec);
 };



Patch sip/QtGui/qtextformat.sip with this:

--- sip/QtGui/qtextformat.sip.orig 2005-12-09 00:47:45.885459280 +0100
+++ sip/QtGui/qtextformat.sip 2005-12-09 00:47:54.871093256 +0100
@@ -119,7 +119,6 @@
         ImageName,
         ImageWidth,
         ImageHeight,
-        DocumentFragmentMark,
         UserProperty
     };
 


At the command line, invoke the patch tool from within the PyQt4 distribution
in the following way:

patch sip/QtCore/qtextcodec.sip < qtextcodec.sip.diff
patch sip/QtGui/qtextformat.sip < qtextformat.sip.diff

Hope this helps,

David




More information about the PyQt mailing list