On Montag, 2. März 2009, Phil Thompson wrote: > On Mon, 2 Mar 2009 18:19:57 +0100, Detlev Offenbach > > <det...@die-offenbachs.de> wrote: > > Hi, > > > > I am trying to write a subclass of QNetworkReply. This subclass needs to > > have > > it's own variant of the readData protected method. However, it seems, > > that > > > this method doesn't work correctly. How do I have to do this correctly. > > My > > > code is shown below. > > > > -------------- > > class HelpNetworkReply(QNetworkReply): > > def __init__(self, request, fileData): > > QNetworkReply.__init__(self) > > > > self.__data = QBuffer(fileData) > > > > self.setRequest(request) > > self.setOpenMode(QIODevice.ReadOnly) > > > > self.setHeader(QNetworkRequest.ContentTypeHeader, > > QVariant("text/html")) > > self.setHeader(QNetworkRequest.ContentLengthHeader, > > QVariant(QByteArray.number(fileData.length()))) > > QTimer.singleShot(0, self, SIGNAL("metaDataChanged()")) > > QTimer.singleShot(0, self, SIGNAL("readyRead()")) > > > > def abort(self): > > # do nothing > > pass > > > > def readData(self, buffer, maxlen): > > l = self.__data.readData(buffer, maxlen) > > if self.__data.bytesAvailable() == 0: > > QTimer.singleShot(0, self, SIGNAL("finished()")) > > return l > > -------------- > > The Python signature is slightly different as Python strings aren't > mutable. There is no buffer argument and you should return the data as a > Python string. > > Phil > _______________________________________________ > PyQt mailing list PyQt@riverbankcomputing.com > http://www.riverbankcomputing.com/mailman/listinfo/pyqt
So I have to "return l, buffer" with buffer being a Python string. Will this work even if the method is called from some C++ code of the Qt4 libraries (e.g. QWebView or QWebPage)? Detlev -- Detlev Offenbach det...@die-offenbachs.de _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt