Я звоню emit signal1()
из потока, отличного от Qt.
Под потоком, отличным от Qt, я имею в виду не цикл событий GUI и не метод QThread run () или собственный цикл событий QThread.
Это просто pthread (pthread_create ()), который вызывает метод объекта QObject, который излучает сигналы.
например:
MyQbject: public QObject
{
...
void emitBunchOfSignals()
{
emit signal1();
emit signal2();
...
}
...
}
метод "run" моего pthread, имеющий указатель на экземпляр MyObject (экземпляр, который был создан в контексте основного потока GUI Qt, а не pthread), вызывает emitBunchOfSignals()
методы.
До Qt 4.5 это было противно. Теперь, Qt 4.5 справляется с этим?
Вызывает ли он qApp->PostEvent()
или что-то еще, чтобы сигнал излучался в потоке GUI Qt (и, следовательно, в слот)?
спасибо