2012-05-18 24 views

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()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.

+0

Không, không phải sau khi lệnh đã chạy xong. Ý tôi là khi lệnh đang chạy. – polandeer

+0

Tôi đã cập nhật câu trả lời của mình. kiểm tra xem nó ra – ScarCode

+0

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

Các vấn đề liên quan