Tôi muốn biết làm thế nào tôi có thể nắm bắt đầu ra của một lệnh được chạy bởi QProcess trong PySide để nó có thể được hiển thị.Làm thế nào để có được đầu ra của một lệnh được chạy bởi QProcess trong PySide?
5
A
Trả lời
1
tôi đã kết thúc sử dụng này:
# Create runner
self.runner = QProcess(self)
# Make sure newInfo gets all output
self.runner.readyReadStandardError.connect(self.newErrInfo)
# Run the command
self.runner.start(command)
# Once it's started set message to Converting
self.parentWidget().statusBar().showMessage("Converting.")
Rồi sau đó trong lớp:
def newErrInfo(self):
newString = str(self.runner.readAllStandardError())
print(newString, end=" ")
readAllStandardOutput() cũng làm việc cho stdout
1
QProcess qp;
qp.start("Yourcode");
qp.waitForFinished();
qDebug() << "qp:" << qp.readAll();
Đối với Reading sống bạn có thể sử dụng các chức năng như canReadLine(), readyread(), waitforreadyread() và waitforbyteswritten().
Sử dụng các chức năng này trong cơ chế signal-slot để ghi dữ liệu trực tiếp.
Không, không phải sau khi lệnh đã chạy xong. Ý tôi là khi lệnh đang chạy. – polandeer
Tôi đã cập nhật câu trả lời của mình. kiểm tra xem nó ra – ScarCode
Cảm ơn bạn. Tôi nghĩ rằng tôi đã tìm thấy một câu trả lời, mặc dù. – polandeer