如何将Python控制台输出重定向到QTextBox

Kri*_*ris 3 python console redirect qwidget

我正在开发一个用于重新编译Linux内核的GUI.为此,我需要从Python实现4-5个Linux命令.我使用Qt作为GUI设计师.我已经使用os.system()call 成功实现了命令.但输出是在控制台获得的.真正的问题是命令的输出是一个列表,需要大约20-25分钟的连续打印.我们如何将此控制台输出传输到Qt中设计的文本框.任何人都可以帮助我setSource()在Qt中使用source作为实时控制台输出来实现操作.

Kri*_*ris 6

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()))
Run Code Online (Sandbox Code Playgroud)

这对我来说非常有用.谢谢你们.