summaryrefslogtreecommitdiff
path: root/python/helpers/pydev/tests_python/_debugger_case_qthread2.py
blob: b2ce3159652cf24beeccde20132d93587f2806e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import time
import sys

try:
    from PySide import QtCore
except:
    from PyQt4 import QtCore

# Subclassing QObject and using moveToThread
# http://labs.qt.nokia.com/2007/07/05/qthreads-no-longer-abstract/
class SomeObject(QtCore.QObject):

    finished = QtCore.Signal()

    def longRunning(self):
        count = 0
        while count < 5:
            time.sleep(.5)
            print "Increasing"
            count += 1
        self.finished.emit()

app = QtCore.QCoreApplication([])
objThread = QtCore.QThread()
obj = SomeObject()
obj.moveToThread(objThread)
obj.finished.connect(objThread.quit)
objThread.started.connect(obj.longRunning)
objThread.finished.connect(app.exit)
objThread.start()
app.exec_()
print('TEST SUCEEDED!')