4

私はpyqt4を使用しています。次のように、QObject および QRunnable から継承されたクラス multi があります。

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 を使用して、インターネットからリソースをダウンロードするマルチスレッドを管理し、終了後にシグナルを送信する予定です。どうやってやるの?

4

1 に答える 1

7

PyQt リファレンス ガイド > 注意事項 > 多重継承:

複数の Qt クラスからサブクラス化された新しい Python クラスを定義することはできません。

于 2013-02-28T11:58:28.350 に答える