[PyQt] QThread problem
    Sergio Jovani 
    lesergi at gmail.com
       
    Mon Dec  8 00:53:37 GMT 2008
    
    
  
Hi all,
I'm developing a downloads application and I have created a QThread for that 
reason. I start the QThread with no problems, but when I try terminate it 
clicking on cancel pushbutton, I can't, application freezes. Thanks in 
advance. Here the code:
---
class MainWindow(QMainWindow):
	def __init__(self, parent = None):
		QMainWindow.__init__(self, parent)
		...
		self.pbCancel=QPushButton(self.tr("Cancel"))
		self.connect(self.pbCancel, SIGNAL("clicked()"), self.cancel)
		...
	def download(self):
		...
		self.threadDownload = Download(url, path, filename)
		self.threadDownload.start()
	def cancel(self):
		self.threadDownload.terminate()
		self.threadDownload.wait()
class Download(QThread):
	def __init__(self, url, path, filename, parent = None):
		QThread.__init__(self, parent)
		self.path=path
		self.url=url
		self.filename=filename
	def run(self):
		os.chdir(self.path)
		urllib.urlretrieve(self.url,self.filename,reporthook=self.myreporthook)
    
    
More information about the PyQt
mailing list