我正在开发一个用于重新编译Linux内核的GUI.为此,我需要从Python实现4-5个Linux命令.我使用Qt作为GUI设计师.我已经使用os.system()调用成功实现了命令.但输出是在控制台获得的.真正的问题是命令的输出是一个列表,需要几乎20-25分钟的连续打印.我们如何将此控制台输出传输到Qt中设计的文本框.任何人都可以帮助我在Qt中使用source作为实时控制台输出来实现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()))
这对我来说非常有用.谢谢你们.