Я пытаюсь написать графический интерфейс, который при нажатии кнопки запускает или останавливает процесс. В настоящее время мой код даже не запускает процесс, и я зацикливаюсь на этом. Кнопка нажимает, и текст изменяется, но процесс не выполняется и сообщения об ошибках не появляются. Это код слот кнопки в объекте QMainWindow:Запуск и уничтожение процессов в QT C++ с помощью кнопки
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 в верхней части кода
Для получения дополнительной информации вы должны проверить QProcess :: error() и QProcess :: state(). Вы также должны проверить возвращаемое значение QProcess :: waitForStarted() – JRG
Проверить возвращаемое значение 'waitForStarted'. Он должен быть ложным, если процесс не запускался. Убедитесь, что исполняемый файл 'record' находится в рабочем каталоге приложения. –
На какой платформе вы используете OSX или Linux? – TheDarkKnight