h0uk schrieb:
On 8 янв, 01:02, "Diez B. Roggisch" <de...@nospam.web.de> wrote:
h0uk schrieb:
Hello.
I have the following code:
#workers = {}
QtCore.QThreadPool.globalInstance().setExpiryTimeout
(300000)
QtCore.QThreadPool.globalInstance().setMaxThreadCount(1)
for i in range(1, int(userscnt) + 1):
work = wk.Worker(i)
# connect signals
work.mmShowCaptcha.connect(self.show_captcha_dlg)
work.log.connect(self.handle_log)
self.captcha_answer.connect(work.mmCaptchaAnswer)
work.setAutoDelete(True)
QtCore.QThreadPool.globalInstance().start(work)
On last line of code ( QtCore.QThreadPool.globalInstance().start
(work) ) i get an error:
SystemError: error return without exception set
What is wrong in my code??? Any advise???
The error is on C-level. AFAIK it occurs when a Python-C-function
returns "NULL" without setting an exception.
It's hard to say where it really occurs. I'd use a debug-build of PyQt,
and possibly Python, and then investigate using gdb.
Alternatively, what happens when you do some "dummy"-work that doesn't
use signals and no other libraries?
Diez
About some "dummy" code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
import time
from PyQt4 import QtCore, QtGui
class Job(QtCore.QRunnable):
def __init__(self, name):
QtCore.QRunnable.__init__(self)
self._name = name
def run(self):
time.sleep(10)
print self._name
def autoDelete(self):
return self._auto
def setAutoDelete(self, auto):
self._auto = auto
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
QtCore.QThreadPool.globalInstance().setMaxThreadCount(1)
j = Job("Job-1")
j.setAutoDelete(True)
QtCore.QThreadPool.globalInstance().start(j)
Even this code not work. On the last line of code
( QtCore.QThreadPool.globalInstance().start(j) ) i get the error:
An unhandled win32 exception occured in python.exe
Hm. I suggest you take this to the PyQt mailinglist. Phil Thompson is
very responsive.
Diez
--
http://mail.python.org/mailman/listinfo/python-list