Название: Сигнал из главного потока Отправлено: Ultra от Ноябрь 05, 2010, 01:29 Пытаюсь отправить сигнал из главного потока (ГУИ) в свой поток. Метод глубокого загугливания привел к такому коду.
В главном потоке пытаюсь определить сигнал из this и присвоить слот от своего потока Код: ThreadServer = new threadserver(); Код: emit stopServer(); Код: ... Код: void threadserver::stop() { Листинг ошибки: Код: ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Название: Re: Сигнал из главного потока Отправлено: BlackTass от Ноябрь 05, 2010, 02:04 Объект threadserver принадлежит главному потоку, следовательно его слоты выполняются в главном потоке. Вам нужно либо поменять аффинити вашего инстанса threadserver, либо добавить еще один класс, объект которого также будет создаваться в дочернем потоке и который уже и будет всем рулить.
Название: Re: Сигнал из главного потока Отправлено: Ultra от Ноябрь 05, 2010, 16:04 То есть вместо того, что бы создавать новый класс наследник от QThread, нужно создать класс наследник от QObject, определить там все нужные слоты/сигналы и функции и просто перенести его в поток? Я щас попробовал создать класс-объект, вроде бы выполняется в нужном потоке, но доступа к server нету, попробую делать все телодвижения в объекте. Спасибо!
|