[PyQt] QNetworkAccessManager and "finished" signal

Lukas Hetzenecker LuHe at gmx.at
Tue Apr 13 15:04:22 BST 2010


Hello,

please make sure that you have the event loop running (QApplication.exec_)
and use finished(QNetworkReply *) instead of finished(QNetworkReply) as argument 
for the SIGNAL.

Lukas

Am Dienstag 13 April 2010 15:48:22 schrieb Andreas Neumann:
> Hi,
> 
> I am trying to fetch an image with the HTTP protocol, using the QNetwork
> methods. I can see in my webserver log that the get request was made, but
> in my python script, the method that should be triggered by the "finish"
> event never executes.
> 
> Here are the relevant parts of my code:
> 
> self.networkAccess = QNetworkAccessManager(self)
> QObject.connect(self.networkAccess,SIGNAL("finished(QNetworkReply)"),self.r
> eceiveFoto)
> self.networkAccess.get(QNetworkRequest(QUrl("http://myserver/gruenanlagen/
> fotos/"+ uster_nr + ".jpg")))
> 
> 
> def receiveFoto(self,networkReply):
> 	QMessageBox.warning(None,"Debug","Received data")
> 	byteArray = networkReply.readAll()
> 	myImage = QImage.fromData(byteArray)
> 	myPixmap = QPixmap.fromImage(myImage)
> 	self.gruenanlage_foto.setPixmap(myPixmap)
> 
> 
> the "receiveFoto" method is never called, but I see the get request in the
> webserver log. Is there something wrong with my connect? Any other idea
> why the receiveFoto method is never executed?
> 
> Thanks,
> Andreas



More information about the PyQt mailing list