多继承自 QObject 和 QRunnable 错误

Posted

技术标签:

【中文标题】多继承自 QObject 和 QRunnable 错误【英文标题】:multi inherit from QObject and QRunnable error 【发布时间】:2013-02-28 11:41:35 【问题描述】:

我正在使用 pyqt4。 我有一个继承自 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 下载资源,并在完成后发出信号。我该怎么做?

【问题讨论】:

【参考方案1】:

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

不能定义一个从多个 Qt 类继承的新 Python 类。

【讨论】:

我打算使用QThreadPool来管理多线程从互联网下载资源,完成后发出信号。我该怎么做? @hbprotoss 请作为一个单独的问题提出。

以上是关于多继承自 QObject 和 QRunnable 错误的主要内容,如果未能解决你的问题,请参考以下文章