Запуск и уничтожение процессов в QT C++ нажатием кнопки

Я пытаюсь написать графический интерфейс, который при нажатии кнопки либо запускает, либо останавливает процесс. В настоящее время мой код даже не запускает процесс, и я не понимаю, почему это так. Кнопка нажимается, и текст меняется, но процесс не выполняется, и сообщения об ошибках не появляются. Это код слота кнопки в объекте QMainWindow:

void clickedSlot(){   
        QString s = "Record";
        //switch between record and stop
        if(s!=((QPushButton*)sender())->text()){
            ((QPushButton*)sender())->setText("Record");
    process->kill();
    process->waitForFinished();
    delete process;
        }else{
            ((QPushButton*)sender())->setText("Stop");
    process = new QProcess(this);
    QString executable = "./record";
            process->start(executable);
    process->waitForStarted();
        }
};

Любая помощь в том, почему QProcess не запускается и как его остановить после, будет принята с благодарностью. У меня есть #include в верхней части кода


person user2589787    schedule 29.09.2013    source источник
comment
Вы должны проверить QProcess::error() и QProcess::state() для получения дополнительной информации. Вы также должны проверить возвращаемое значение QProcess::waitForStarted().   -  person JRG    schedule 30.09.2013
comment
Проверьте возвращаемое значение waitForStarted. Должно быть ложным, если процесс не удалось запустить. Убедитесь, что исполняемый файл record находится в рабочем каталоге приложения.   -  person Pavel Strakhov    schedule 30.09.2013
comment
Какую платформу вы используете OSX или Linux?   -  person TheDarkKnight    schedule 30.09.2013
comment
Как говорит JRG. И errorString().   -  person Frank Osterfeld    schedule 01.10.2013


Ответы (1)


Проблема может заключаться в пути к исполняемому файлу, который вы (не) запускаете. Повторите попытку, убедившись, что:

person Victor Paléologue    schedule 04.11.2014