Solución:
Si tu process
El objeto es una variable en la pila (por ejemplo, en un método), el código no funcionaría como se esperaba porque el proceso que ya ha iniciado se eliminará en el destructor de QProcess
, cuando finaliza el método.
void MyClass::myMethod()
{
QProcess process;
QString file = QDir::homepath + "file.exe";
process.start(file);
}
En su lugar, debería asignar el QProcess
objeto en el montón así:
QProcess *process = new QProcess(this);
QString file = QDir::homepath + "/file.exe";
process->start(file);
Si desea que su programa espere mientras se ejecuta el proceso, puede usar
QProcess::execute(file);
en lugar de
QProcess process;
process.start(file);
QDir :: homePath no termina con separador. Ruta válida a su exe
QString file = QDir::homePath + QDir::separator + "file.exe";
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)