当使用os.system命令执行时,如何将python控制台输出重定向到QTextBox?

当使用os.system命令执行时,如何将python控制台输出重定向到QTextBox?,python,windows,perl,pyqt,Python,Windows,Perl,Pyqt,我想在python中使用QProcess命令执行perl文件。但当我尝试使用QProcess.start命令时,它不起作用,但在使用os.system命令时执行。 如何在python中使用QProcess执行perl文件,以及如何将执行的输出打印重定向到QTextBox? 下面是我试过的一段代码: 这里它不是在执行perl文件 os.chdir('E:\Jayakanth\python_proj\code\py_files\H264_perl_script') qprocess = QtCore

我想在python中使用QProcess命令执行perl文件。但当我尝试使用QProcess.start命令时,它不起作用,但在使用os.system命令时执行。 如何在python中使用QProcess执行perl文件,以及如何将执行的输出打印重定向到QTextBox? 下面是我试过的一段代码:

这里它不是在执行perl文件

os.chdir('E:\Jayakanth\python_proj\code\py_files\H264_perl_script')
qprocess = QtCore.QProcess()
qprocess.start('example.pl')
qprocess.waitForFinished(-1)
msg = str(qprocess.readAll())
self.textbrowser.append(msg)
但它是这样工作的:

import os
os.system('example.pl')

或者如何将os.system执行的python控制台输出重定向到Qtextbox?

考虑到您似乎在windows上,您可能必须在传递给os.system()的字符串中提供Perl可执行文件的完整路径

system('E:\path\to\perl.exe example.pl')


这是我的猜测。

即使我没有给出perl可执行文件的完整路径,但无法使用QProcess执行,它也可以使用os.system。关于如何在QProcessWell中执行相同的操作,QProcessStart是否提供任何返回值、错误消息或抛出任何异常?感谢您的支持,Len Jaffe先生,我可以通过以下方式解决上述问题:QProcessStart('E:/path/to/perl.exe','example.pl'),但我们指定路径的方式应该引起注意。我还有一个问题。也就是说,如果单击QCheckbox,我希望在循环中连续运行相同的程序,并且当单击QPushbutton时,我必须停止循环。请帮助我使用此Qt只是许多事情中的一件,我没有经验。我在网上也找不到关于QProcess的“好”教程或参考资料,尽管如果你在网上搜索QProcess,你会发现一些简单的问题和答案,可能会对你有所帮助。谢谢Len先生,如果可能的话,除了使用os.system函数外,还有其他方法可以用python调用perl脚本,请让我知道如何再做一次谢谢