Мне нужно проверить, завершился ли мой процесс, и мне нужно преобразовать его в bool, потому что я хочу, чтобы вы это сделали.
В mainwindow.h я создал объект
Проверка завершения qprocess
QProcess *action;
В mainwindow.cpp
void MainWindow:: shutdown()
{
action=new QProcess(this);
action->start("shutdown -s -t 600");
//and now I want to use if
if (action has finished)
{
QMessageBox msgBox;
msgBox.setText("Your computer will shutdown in 1 minute.");
msgBox.exec();
}
Что случилось с функцией [ 'waitForFinished'] (http://doc.qt.io/qt-5/qprocess.html#waitForFinished) или [' finished'] (HTTP: // документ .qt.io/qt-5/qprocess.html # finished), который уведомляет, как только он будет завершен? –
@JamesAdkison Два предложения не относятся к одному предложению. 'waitForFinished' - это метод блокировки, который делает пользовательский интерфейс невосприимчивым. Он не предназначен для использования в интерактивной нити. –
@KubaOber Я не следую вашему комментарию. Первый (до _or_) является блокирующей функцией, а второй (после _or_) является неблокирующим решением, использующим механизм сигнального слота Qt. –