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