2013-02-28 23 views
1

我正在使用pyqt4。 我有一類多從QObject中和QRunnable繼承這樣的:來自QObject的多繼承和QRunnable錯誤

class DownloadTask(QObject, QRunnable): 
    def __init__(self): 
     QObject.__init__(self) 
     QRunnable.__init__(self) 
     self.setAutoDelete(False) 

當DownloadTask的實例初始化,最後一行拋出異常:

TypeError: could not convert 'DownloadTask' to 'QRunnable' 

但我認爲這是在語法正確的,QRunnable具有setAutoDelete方法。爲什麼它不能轉換爲QRunnable?

更新:
我打算用QThreadPool來管理多線程從Internet下載資源,並在完成後發出一個信號。我怎樣才能做到這一點?

回答

4

PyQt reference guide > Things to be Aware Of > Multiple inheritance:

它不是可以定義一個新的Python類從不止一個的Qt類的子類。

+0

我打算用QThreadPool來管理多線程從Internet上下載資源,並在完成後發出一個信號。我怎樣才能做到這一點? – hbprotoss 2013-02-28 12:06:42

+0

@hbprotoss請作爲一個單獨的問題。 – 2013-02-28 12:16:51