1try:
2    from PySide import QtCore
3except:
4    try:
5        from PyQt4 import QtCore
6    except:
7        from PyQt5 import QtCore
8
9class TestObject(QtCore.QObject):
10    """
11    Test class providing some non-argument signal
12    """
13
14    try:
15        testSignal = QtCore.Signal()  # @UndefinedVariable
16    except:
17        testSignal = QtCore.pyqtSignal()  # @UndefinedVariable
18
19
20class TestThread(QtCore.QThread):
21
22    def run(self):
23        QtCore.QThread.sleep(4)
24        print('Done sleeping')
25
26def on_start():
27    print('On start called1')
28    print('On start called2')
29
30app = QtCore.QCoreApplication([])
31some_thread = TestThread()
32some_object = TestObject()
33
34# connect QThread.started to the signal
35some_thread.started.connect(some_object.testSignal)
36some_object.testSignal.connect(on_start)
37some_thread.finished.connect(app.quit)
38
39some_thread.start()
40app.exec_()
41print('TEST SUCEEDED!')
42