сигнал qt из не-qt-потока, QueuedConnection - PullRequest
2 голосов
/ 22 апреля 2010

Я передаю свой поток Qt GUI из boost :: thread, и я использую Qt :: QueuedConnection,

 connect(src, SIGNAL(signal-signature), dest, SLOT(slot-signature), Qt::QueuedConnection);

и все же, когда я излучаю сигнал, мой слот не вызывается.

edit: я обнаружил проблему, похоже, я подключал сигнал позже, чем мой вызов, но я был уверен в обратном, поскольку точки останова сначала останавливались в потоке GUI при вызове connect, а затем в потоке диспетчеризации, который выполняет выброс

всем за помощь и идеи: D

Ответы [ 2 ]

2 голосов
/ 22 апреля 2010

Проверьте правильность имени слота и названия сигнала. Обычно, если есть проблема (неправильное имя), это сигнализируется в консоли (сообщение об ошибке). Кроме того, вы можете проверить результат вызова функции подключения. В случае неудачного подключения он должен вернуть false.

0 голосов
/ 22 апреля 2010

Я бы предположил, что оба потока должны быть QThread с QEventLoop, чтобы эта работа работала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...