Qt에서 QProcess를 사용하여 한 프로세스에서 다른 프로세스를 시작합니다.

5560 단어 Qt
void MainWindow::startFunc()
{
	QProcess *process = new QProcess(this);	//this  process              ,       ,      ,
 											//     this,process       ,     ,      
	QString path = QCoreApplication::applicationDirPath();
	path += "/myprocess.exe";
	QStringList arg;
	arg.append("hello");
	arg.append("world");
	process->start(path,arg);
}
void MainWindow::endFunc()
{
	if(process)
	{
		process->close();
		delete	process;
		process = NULL;
	}
}

설명:
4
  • close() 함수를 호출하여 외부 프로세스를 닫을 수 있습니다

  • 4
  • close() 함수를 호출하지 않으면 QProcess*process = new QProcess(this)를 만들기 때문입니다.this를 사용했기 때문에 호출 프로그램이 종료되면 외부 호출 프로세스도 종료됩니다

  • 외부 이동 프로세스에서의 매개 변수 사용
    int main(int argc, char *argv[])
    {
    	FILE *file;
    	for(int i=1;i<argc-1;i++)
    	{
    		//qDebug()<
    		file = fopen("1.dat","w+");
            fputs(argv[i],file);//        QStringList    ,    ,      
    	}
    	fclose(file);
    	return 0;
    }
    

    좋은 웹페이지 즐겨찾기