我有一个双端队列类型列表(队列),我想在 QTextEdit 中显示和更新。MyForm 类中有一个函数 uuenda_kama 应该执行此操作(以及其他一些 s***)。当 textEdit 为空时,此函数的第一次传递,它就像一个魅力,所有必要的字段都被更新。但在第二遍时,由于添加了一些文本,它崩溃了,让我面对一个 Visual Studio 调试器。尝试评论不同的部分并发现“self.ui.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_())