У меня есть список типов deque (очередь), который я хотел бы показать и обновить в QTextEdit. В классе MyForm есть функция uuenda_kama, которая должна это делать (и некоторые другие s *** тоже). Первый проход этой функции, когда textEdit пуст, работает как шарм, обновляются все необходимые поля. Но на втором этапе, когда в него добавлен текст, он сбрасывает меня с отладчиком Visual Studio. Пробовал комментировать разные части и вышел, что приводит к этой строке «self.ui.textEdit.clear()». Что не так с этим и почему он работает на первом проходе? Что я могу сделать, чтобы исправить это? код я прямо сейчас:PyQt4 TextEdit.clear вызывает сбой
class MyForm(QtGui.QMainWindow):
...
def uuenda_kama(self):
while True:
...
if vana_que != list(que):
self.ui.textEdit.clear()
for i in que:
self.ui.textEdit.append(i)
vana_que = list(que)
sleep(1)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = MyForm()
uuendamine = Thread(target=myapp.uuenda_kama)
uuendamine.start()
myapp.show()
sys.exit(app.exec_())
Почему вы используете стандартный поток python для запуска цикла, который вызывает вызовы ваших виджетов qt? Это выглядит неправильно. – jdi
Потому что это не выглядело неправильно для меня? И, похоже, сначала это было хорошо. Попробуй свой совет! – Zhack