Как правильно удалить и завершить работу 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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