从QObject和QRunnable多重继承错误

4 投票
1 回答
1314 浏览
提问于 2025-04-17 17:26

我正在使用pyqt4。
我有一个类叫做multi,它同时继承了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来管理多个线程,从互联网下载资源,并在完成后发出一个信号。我该怎么做呢?

1 个回答

7

PyQt参考指南 > 注意事项 > 多重继承:

你不能创建一个新的Python类,让它同时继承多个Qt类。

撰写回答