【发布时间】:2018-07-10 19:03:38
【问题描述】:
在 QPlainTextEdit 上显示时 subprocess.stdout 中的分段错误
嗨, 我正在为所示函数启动一个线程,并将其结果流式传输到线程中的 QTextEdit 对象。该函数有时会因未知原因而因分段错误而崩溃。
self.plainTextEdit = QPlainTextEdit()
self.thread = Thread(target = runcmd, args = ("make dc",))
self.thread.start()
self.thread.join()
def runcmd(self,cmd):
process = subprocess.Popen(shlex.split(cmd),stdout=subprocess.PIPE, bufsize=-1)
while True:
line = process.stdout.readline()
if not line:
break
self.plainTextEdit.moveCursor(QTextCursor.End)
self.plainTextEdit.insertPlainText(line.strip())
process.terminate()
制作直流
command 是对设计编译器综合工具的调用。如果我尝试打印
行
变量而不是写入 plainTextEdit 对象,线程运行良好,在终端窗口中显示结果。欢迎任何帮助/建议...... 谢谢你
【问题讨论】:
标签: python pyqt segmentation-fault subprocess pyside