2009-03-09 4 views
2

Qt использует сигналы и слоты обычно в одном потоке, поэтому вызов сигнала вызовет слот в том же сигнале потока. Можно ли использовать механизм сигнального слота для передачи сообщения в поток qt (так что слот будет вызываться позже в контексте конкретного потока)?как подключить сигнал к слоту в другом потоке?

ответ

0

Я думаю, что обычный способ борьбы с этим состоит в том, чтобы обработчик сигнала выдавал еще одну функцию (используя boost :: bind или какую-то такую ​​вещь-функтор), а затем запускает ее в качестве целевой threadqueue.

0

По крайней мере, с Qt4, и это не проблема. Вам просто нужно настроить соединение где-нибудь, у вас есть переменные, указывающие на оба потока. (т. е. обычно в основном())