def main_start(self): print "MAIN FUNCTION START" th1 = threading.Thread(target=self.clerk, name="Thread_Clerk", args=[]) print "[MainStart]: *** starting Thread_Clerk ***" th1.start() def clerk(self): number = 0 total_clerk = self.spinBox.value() text_clerk = u"" print total_clerk while number < total_clerk: text_clerk+=u"Клерк #"+str(number+1)+u" |\t| Заявка # |\t Время выполнения: \n" number+=1 print text_clerk self.change_text1(unicode(text_clerk)) def change_text1(self, text): self.textEdit.setText(unicode(text))
Но при запуске процесса выбивает ошибку:
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QTextDocument(0x28157f0), patent's thread is QThread(0x1e218e0), ent thread is QThread(0x2815840)
Как исправить?
Я использовал в PyQt4 классе стандартный поток Питона. Может по этому не изменяет текст в форме? Если да, то подскажите как использовать потоки PyQt4 на этом примере если не тяжело