【发布时间】:2021-03-15 18:14:23
【问题描述】:
我正在使用QProcess 的两个实例。在我的代码的某些部分,我需要 process1 将其输出重定向到 process2。
通过遵循 Qt 文档,我可以使用 QProcess.setStandardOutput(),这很棒。但是,稍后我必须在代码中禁用它。
如何将其输出重定向到默认行为(stdout)?我试过process1 = QProcess(),但没用。
process1 = QProcess()
process2 = QProcess()
process1.setStandardOutputProcess(process2)
process1.start("command1")
process2.start("command2")
process1.setStandardOutputProcess(QProcess())
有效,但这是重新划分的正确方法吗?还是我在创建一个新的“uneccessry”对象?
【问题讨论】:
-
根据您对我的回答的评论(我没有测试),我认为在进程运行时无法禁用它(可能是错误或预期但未记录的行为) .鉴于此,我认为您指出的解决方法是最合适的解决方案。建议你举报。也许 Qt 开发人员应该验证被重定向到的 QProcess 不是 nullptr。
-
@eyllanesc 会的。
标签: python-3.x qt pyqt5 pyside2 qprocess