summaryrefslogtreecommitdiff
path: root/python/helpers/pydev/tests_python/_debugger_case_qthread2.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/helpers/pydev/tests_python/_debugger_case_qthread2.py')
-rw-r--r--python/helpers/pydev/tests_python/_debugger_case_qthread2.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/python/helpers/pydev/tests_python/_debugger_case_qthread2.py b/python/helpers/pydev/tests_python/_debugger_case_qthread2.py
new file mode 100644
index 000000000000..b2ce3159652c
--- /dev/null
+++ b/python/helpers/pydev/tests_python/_debugger_case_qthread2.py
@@ -0,0 +1,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!') \ No newline at end of file