0

私はこのようなものを使用しています:

import threading
from PySide import QtCore

class Smt(threading.Thread):
    foo_signal = QtCore.Signal(object)

    def __init__(self):
        threading.Thread.__init__(self)

    def run(self);
        while True:
            pass # and so..

それから私はそれを始めています:

a = Smt()
a.foo_signal.connect(function)
a.start()

出力は次のとおりです。

AttributeError: 'PySide.QtCore.Signal' object has no attribute 'connect'

QtCore.QThreadの代わりに使用するthreading.Threadと、うまく機能します。でも使いたくないQThread

それは可能ですか?

4

1 に答える 1

3

シグナルは、それらを使用しているクラスが QObject (または QObject も継承する任意のクラス) から継承されている必要があります。したがって、QThread の使用に切り替えるか、QObject から継承しQtCore.QObject.__init__(self)て、__init__

于 2013-08-02T19:33:17.857 に答える