![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
OrSOn |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 46 Регистрация: 8.12.2009 Пользователь №: 1289 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Добрый день всем! Столкнулся со следующей проблемой... Есть программа, в которой нужно использовать потоки, причем основной поток должен обмениваться сигналами с вновь созданными. Так вот проблема примерно в следующем:
Попробовал просто все подключить коннектами, в результате thread принимает мои сигналы, но сам их испускать не может. Попробовал в начале run() вписывать exec(), в результате до нужного участка кода, разумеется, поток не доходил Попробовал способ с moveToThread(), сделал примерно следующее:
При этом поток вообще не видит испускаемых мной сигналов. Подскажите, пожалуйста, что именно делаю не так и как заставить все это дело нормально взаимодействовать. |
|
|
![]() |
OrSOn |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 46 Регистрация: 8.12.2009 Пользователь №: 1289 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Извиняюсь за оформление и спасибо за ссылку! А по теме... Я понял, почему у меня не работало, но не понимаю, с чем это связано. Суть в том, что я имел сигнал формата
void mySignal( PrioritySocket sgn) Причем PrioritySocket - это структура из 2 полей( QTcpSocket *, int ). Так вот почему-то ее передавать из потока не хочет, хотя в поток она сигналом отлично отправлялась до введения moveToSocket. С чем это может быть связано? Забыл добавить, что если вместо PrioritySocket передавать указатель на него, все отлично передается, но все равно хотелось бы понять, почему сам объект не пересылается... |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 24.6.2025, 22:57 |