Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Новый архив 2 (https://www.otvetnemail.ru/novyj-arhiv-2-812/)
-   -   [решено] Как зачистить QObject из другого потока? (https://www.otvetnemail.ru/novyj-arhiv-2-812/resheno-kak-zachistit-qobject-iz-drugogo-potoka-259204/)

Guest 28.09.2011 18:17

[решено] Как зачистить QObject из другого потока?
 
Не могу его никак удалить.Есть дочерний поток класса-наследника QThread и пара дополнительных методов:КодC++ (Qt)void MyClass::run(){ this->signalMapper = new QSignalMapper(); ...this->addNewTimer();}void MyClass::addNewTimer(){QTimer* timer = new QTimer();QObject::connect(timer, SIGNAL(timeout()), this->signalMapper, SLOT(map())); this->signalMapper->setMapping(timer, timer);}Далее маппер соединён со слотом delTimer(), чтобы при timeout() каждого таймера вызывался именно он:КодC++ (Qt)void myClass::delTimer(QObject* timer){// timer->moveToThread(this);// timer->setParent(0);// timer->moveToThread(this->thread());// delete timer;}Пробовалось всё что закомментировано и не только это, но остальное посчитал лишним.Ошибка: QObject::killTimer: timers cannot be stopped from another threadВот, хотелось бы узнать как удалить этот timer...


Часовой пояс GMT, время: 14:53.


© www.otvetnemail.ru - Форум вопросов и ответов.