rt,
QString profile ="mspaint.exe "; QString path; if(pro == NULL) { pro = new QProcess(this); path = ui->lineEditBMPFile->text(); path.replace ( QString('\\'),QString("\\\\")); //path = "C:/Documents and Settings/Administrator/桌面"; //pro-> (&path); // profile += '"'; // QStringList file = ui->lineEditBMPFile->text(); // profile += "C:"+'\\'+"Documents and Settings"+'\\'+"Administrator"+'\\'+"桌面"+'\\'+"未命名.bmp"; //profile += '"'; // profile = "未命名.BMP"; // pro->execute (profile); //profile += ui->lineEditBMPFile->text(); // MainWindow::hide (); // connect(pro,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(proExit())); //connect(pro,SIGNAL()) if( pro->startDetached (profile,QStringList() << path)) { connect(pro, SIGNAL(error(QProcess::ProcessError)), this, SLOT(processError(QProcess::ProcessError))); connect(pro, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus))); ui->textBrowserShowCom->insertPlainText("程序已启动...\n");} else { ui->textBrowserShowCom->insertPlainText("程序启动失败...\r\n"); } //pro->finished ();} else { pro->close (); disconnect(pro, SIGNAL(error(QProcess::ProcessError)), this, SLOT(processError(QProcess::ProcessError))); disconnect(pro, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(processFinished(int,QProcess::ExitStatus))); delete pro; pro = NULL; }我能够打开mspaint,但是我无法关闭它,它在信号机制根本就没连上QT程序,虽然打开了,但是好像与QPROCESS无关的, 点退出mspaint根本就
无法传出号到主程序上,同样的,主程序也无法结束这个,结果就是可以打开一大堆mspaint,但是只能外面手动关。。。
请问怎么解决。,。
我是新手,第一次用qt.