Как правильно удалить и завершить работу QThreadC++

Программы на C++. Форум разработчиков
Anonymous
Как правильно удалить и завершить работу QThread

Сообщение Anonymous »

У меня есть подкласс MyClass, который наследуется от QThread.

Я создаю его вот так с родительским элементом MainWindow код> экземпляр (это):

mMyClass = new MyClass("some_value", 1, 5L, this);


Мое понимание того, как QT имеет дело с удалением объекта, заключается в том, что каждый Qubject , у которого родитель удаляется, когда родитель удаляется.
Если моя программа закончит, я получаю предупреждение qthread: уничтожен, когда поток все еще работает < /code> < /p>

Как я могу исправить это? Я попробовал это со следующим кодом в деконструкторе Mainwindow . К сожалению, это не работает должным образом: < /p>

if (mMyClass != 0 && mMyClass->isRunning()) {
mMyClass->deleteLater();
mMyClass->quit();
mMyClass->wait();
}


Подробнее здесь: https://stackoverflow.com/questions/248 ... te-qthread

Вернуться в «C++»