QT 응용 프로그램에서 QProcess를 사용하여 외부 자식 프로세스를 시작하고 하위 프로세스를 기다리지 않고 주 프로그램의 실행을 계속하는 방법은 무엇입니까? 마치지 만 동시에 완료되면 자식 프로세스에서 콜백을 받습니까?QProcess : 끝내기를 기다리지 않고 자식 프로세스를 시작하지만 완료 신호를 받음
첫 번째 시나리오 : 여기
QProcess* child = new QProcess();
connect(child, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(isFinished(int, QProcess::ExitStatus)));
child->start("example.exe", QStringList() << path);
.
.
. further execution of main application
는 자식 프로세스가 시작되고 주요 응용 프로그램 실행, 으로 계속하지만, 신호/슬롯 연결이 어떤 QT 오류없이 수행하고 있지만, 는 콜백 할 때이 온다 아이는 끝났어.
두 번째 시나리오 :
QProcess* child = new QProcess();
connect(child, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(isFinished(int, QProcess::ExitStatus)));
child->start("example.exe", QStringList() << path);
child->waitForFinished();
.
.
. NO further execution of main application
여기 자식 프로세스가 시작되고 주요 응용 프로그램이 실행, 신호에서 완성 된 콜백하지 간다/슬롯이 제대로 온다. 둘 다 내가 원하는 것이 아닙니다.
아이디어가 있으십니까?
첫 번째 시나리오는 잘 작동해야합니다. Qt4.8 디렉토리의 demos \ embedded \ fluidlauncher \ demoapplication.cpp 및 demos \ qtdemo \ menumanager.cpp를 참조하십시오. 코드와 Qt 샘플의 차이점을 볼 수 없습니다. – Bogdan
첫 번째 시나리오는 우리에게 잘 작동하며 올바른 구현이 될 것입니다. –
프로세스가 완료되기 전에'this' 오브젝트가 삭제 될 수 있습니까? –