我正在开发用于重新编译 Linux 内核的 GUI。为此,我需要从 Python 执行 4-5 条 Linux 命令。我使用 Qt 作为 GUI 设计器。我已经使用 os.system()
调用成功实现了命令。但是输出是在控制台获得的。真正的问题是命令的输出是一个列表,需要连续打印将近 20-25 分钟。我们如何将此控制台输出传输到 Qt 中设计的文本框。任何人都可以帮助我在 Qt 中使用源代码作为实时控制台输出来实现 setSource()
操作。
最佳答案
self.process = QProcess()
self.connect(self.process, SIGNAL("readyReadStdout()"), self.readOutput)
self.connect(self.process, SIGNAL("readyReadStderr()"), self.readErrors)
tarsourcepath="sudo tar xvpf "+ self.path1
self.process.setArguments(QStringList.split(" ",tarsourcepath))
self.process.start()
def readOutput(self):
self.textBrowser2.append(QString(self.process.readStdout()))
if self.process.isRunning()==False:
self.textBrowser2.append("\n Completed Successfully")
def readErrors(self):
self.textBrowser2.append("error: " + QString(self.process.readLineStderr()))
这对我来说非常有用。谢谢大家。
关于python - 如何将 Python 控制台输出重定向到 QTextBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2859256/