ad PyCharm: http://youtrack.jetbrains.com/issue/PY-4299?query=e
-- Radek 2013/1/14 Radek Holý <radekholypub...@gmail.com> > Zkusil jsem to v PyCharm (nikdy jsem tam ale debugger nezkousel) a na > breakpointech v konstruktoru Workerů se mi to zastaví, ale na breakpointech > v ``MyWorkerThread.run`` ne, takže PyCharm to asi také neumí... > > -- > Radek > > > > > 2013/1/13 darkanry <richard.andry...@freenet.de> > >> Stahl jsem si jednoduchy priklad pro praci s QThread. Priklad funguje bez >> problemu, tak jsem ho zacal upravovat. Bohuzel jsem zjistil, ze to v PyDev >> nejde ladit. Nevite nekdo jak na to? Kdyz to nejde s PyDev, jde to necim >> jinym? >> >> Priklad: >> >> #import pydevd >> #pydevd.connected = True >> #pydevd.settrace() >> >> from PySide import QtCore >> >> import time, sys >> >> class MyWorkerThread(QtCore.QThread): >> message = QtCore.Signal(str) >> >> def __init__(self, id, parent=None): >> super(MyWorkerThread, self).__init__(parent) >> self.id = id >> >> def run(self): >> for i in range(10): >> self.message.emit("%d: %d" % (self.id, i)) >> time.sleep(0.2) >> >> class MainProgram(): >> def __init__(self, parent=None): >> self.threads = [] >> >> self.addWorker(MyWorkerThread(1)) >> self.addWorker(MyWorkerThread(2)) >> >> def addWorker(self, worker): >> worker.message.connect(self.printMessage, >> QtCore.Qt.QueuedConnection) >> # connect the finished signal to method so that we are notified >> worker.finished.connect(self.workersFinished) >> self.threads.append(worker) >> >> def startWorkers(self): >> for worker in self.threads: >> print worker.id >> worker.start() >> # no wait, no finished. you start the threads and leave. >> >> def workersFinished(self): >> if all(worker.isFinished() for worker in self.threads): >> # wait until all the threads finished >> QtCore.QCoreApplication.instance().quit() >> >> @QtCore.Slot(str) >> def printMessage(self, text): >> sys.stdout.write(text+'\n') >> sys.stdout.flush() >> >> if __name__ == '__main__': >> >> app = QtCore.QCoreApplication(sys.argv) >> m = MainProgram() >> m.startWorkers() >> sys.exit(app.exec_()) >> _______________________________________________ >> Python mailing list >> Python@py.cz >> http://www.py.cz/mailman/listinfo/python >> > >
_______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python