Qthread & сигналы |
Здравствуйте, гость ( Вход | Регистрация )
Qthread & сигналы |
OrSOn |
8.12.2009, 15:18
Сообщение
#1
|
Студент Группа: Участник Сообщений: 46 Регистрация: 8.12.2009 Пользователь №: 1289 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день всем! Столкнулся со следующей проблемой... Есть программа, в которой нужно использовать потоки, причем основной поток должен обмениваться сигналами с вновь созданными. Так вот проблема примерно в следующем:
Попробовал просто все подключить коннектами, в результате thread принимает мои сигналы, но сам их испускать не может. Попробовал в начале run() вписывать exec(), в результате до нужного участка кода, разумеется, поток не доходил Попробовал способ с moveToThread(), сделал примерно следующее:
При этом поток вообще не видит испускаемых мной сигналов. Подскажите, пожалуйста, что именно делаю не так и как заставить все это дело нормально взаимодействовать. |
|
|
OrSOn |
8.12.2009, 15:36
Сообщение
#2
|
Студент Группа: Участник Сообщений: 46 Регистрация: 8.12.2009 Пользователь №: 1289 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ну внутри рана у меня следующее:
setSocketFlag у меня задается в слоте, который принимает сигнал от основного потока. Т.е. ран крутится, пока основной поток не передаст сигнал. Передал, попали в функцию setThreadSocketFn(). Внутри этой функции ведется некоторая обработка, после чего написано: emit endThreadSocket( PrioritySocket ); как написано выше, в основном потоке идет привязка этого сигнала к слоту... но внутрь слота я так и не попадаю, такое ощущение, что слот не испускается...
Причина редактирования: используй тэг code
|
|
|
BRE |
8.12.2009, 16:02
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
Текстовая версия | Сейчас: 18.1.2025, 12:56 |