Qt가 새로 도입되었습니다.리소스 파일을 실행할 때 QProcess의 출력을 리디렉션
QProcess를 사용하여 외부 셸 스크립트를 실행하고 출력을 GUI에서 textBrowser로 리디렉션하려고합니다. 코드 : mainwindow.h에서
:
private:
QProcess *myProcess;
및 mainwindow.cpp :
void MainWindow::onButtonPressed(){
myProcess = new QProcess(this);
myProcess->connect(myProcess, SIGNAL(readyRead()), this, SLOT(textAppend()));
myProcess->start("./someScript.sh", arguments);
}
void MainWindow::textAppend(){
ui->textBrowser->append(myProcess->readAll());
}
이 외부 스크립트를 실행하는 데 완벽하게 작동합니다. 내 질문은 어떻게 리소스 파일로 포함 된 스크립트와 동일한 프로세스를 적용하는 것입니다. "./someScript.sh"
을 리소스 버전 ":/someScript.sh"
으로 바꾸려고 시도했지만 작동하지 않는 것 같습니다. 리소스 스크립트가 완벽하게 실행되지만 콘솔 출력이 사라집니다.
는 "작동하지 않는 것"은 무엇을 의미합니까? 빈 출력을 얻습니까? QFile :: exists (":/someScript.sh")' – paceholder
스크립트가 실행된다. (나는 다른 소스에서 볼 수있다.) 빈 출력을 얻는다. – Sphics