在PythonQT上进行实时输出并将键输入发送到命令

问题描述 投票:1回答:1

我需要一些帮助或建议,我正在使用pyQT在GUI上编写Python程序,但是我需要将实时子进程命令输出到文本浏览器中,以便用户可以查看是否有任何错误和消息。错误,另选一个进度条,然后插入程序,告诉用户有错误,并且可能保存日志,或者其他可行的方法,我已经在互联网上找到了类似的东西:

process = Popen([command],stdout=PIPE)
                while True:
                    line = process.stdout.readline()
                    if not line:
                        break
                    QtWidgets.QApplication.processEvents()
                    self.textBrowser.append(str(line.strip()))

而且还可以,但不会在命令完成时实时打印输出,而且在工作时会冻结GUI。

是我遇到的问题的一部分,还有其他问题,我尝试运行的命令会在出现继续错误时要求用户按Enter键,因此,假设所有这些都没有办法在python程序上嵌入终端还是打开新终端并在那里启动命令?这样,用户将实时查看输出和可能的错误,如果有任何错误要继续,请按Enter。

这是用于Linux

有什么想法吗?我将不胜感激任何想法/建议/帮助,谢谢!

python subprocess output pythonqt
1个回答
0
投票

考虑将这个漫长的过程放入一个线程中,例如Qthread

© www.soinside.com 2019 - 2024. All rights reserved.