Prova questa:
QProcess process;
process.setWorkingDirectory("D:\\MyWork\\Temp\\source");
process.start("git", QStringList() << "gui");
Oppure, se si vuole fare in una sola riga, si può fare questo (qui stiamo usando startDetached
anziché start
):
QProcess::startDetached("git", QStringList() << "gui", "D:\\MyWork\\Temp\\source");
Nel secondo caso è meglio controllare il codice di ritorno (per mostrare un messaggio di errore se il tuo programma non può eseguire un programma esterno). Inoltre è possibile mettere tutti gli argomenti nella prima stringa program
(vale a dire process.start("git gui");
è consentito troppo):
bool res = QProcess::startDetached("git gui", QStringList(), "D:\\MyWork\\Temp\\source");
if (!res) {
// show error message
}
Hai provato a leggere la risposta dal prompt dei comandi pure? –
Sì, funziona anche dal prompt dei comandi –