Qthread & сигналы |
Здравствуйте, гость ( Вход | Регистрация )
Qthread & сигналы |
OrSOn |
8.12.2009, 17:28
Сообщение
#21
|
Студент Группа: Участник Сообщений: 46 Регистрация: 8.12.2009 Пользователь №: 1289 Спасибо сказали: 0 раз(а) Репутация: 0 |
Нет, это я уже все вычитал, поэтому когда я использую эту функцию, я в качестве parent задаю 0, функция срабатывает нормально, иначе бы в дебаге выкинуло с ошибкой... а почему придется? Ведь в примере без нее все нормально работает... Кстати, я попробовал еще упростить в своей программе, в функции мейн написал:
Thread, по-прежнему, в ране в цикле выдает сигналы... Результат тот же, в слот не попадаю, хоть ты тресни.. |
|
|
BRE |
8.12.2009, 17:32
Сообщение
#22
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
OrSOn |
8.12.2009, 17:36
Сообщение
#23
|
Студент Группа: Участник Сообщений: 46 Регистрация: 8.12.2009 Пользователь №: 1289 Спасибо сказали: 0 раз(а) Репутация: 0 |
Да, я тупанул, вижу, где в примере используется эта функция, вписал у себя, результата все еще нет...
|
|
|
Litkevich Yuriy |
9.12.2009, 0:07
Сообщение
#24
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
OrSOn, прочитай тему: Справка по кнопкам и тэгам форума
|
|
|
OrSOn |
9.12.2009, 9:49
Сообщение
#25
|
Студент Группа: Участник Сообщений: 46 Регистрация: 8.12.2009 Пользователь №: 1289 Спасибо сказали: 0 раз(а) Репутация: 0 |
Извиняюсь за оформление и спасибо за ссылку! А по теме... Я понял, почему у меня не работало, но не понимаю, с чем это связано. Суть в том, что я имел сигнал формата
void mySignal( PrioritySocket sgn) Причем PrioritySocket - это структура из 2 полей( QTcpSocket *, int ). Так вот почему-то ее передавать из потока не хочет, хотя в поток она сигналом отлично отправлялась до введения moveToSocket. С чем это может быть связано? Забыл добавить, что если вместо PrioritySocket передавать указатель на него, все отлично передается, но все равно хотелось бы понять, почему сам объект не пересылается... |
|
|
BRE |
9.12.2009, 9:49
Сообщение
#26
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Причем PrioritySocket - это структура из 2 полей( QTcpSocket *, int ). Так вот почему-то ее передавать из потока не хочет, хотя в поток она сигналом отлично отправлялась до введения moveToSocket. С чем это может быть связано? int qRegisterMetaType ( const char * typeName ) |
|
|
OrSOn |
9.12.2009, 9:51
Сообщение
#27
|
Студент Группа: Участник Сообщений: 46 Регистрация: 8.12.2009 Пользователь №: 1289 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
BRE |
9.12.2009, 9:56
Сообщение
#28
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
int qRegisterMetaType ( const char * typeName ) не совсем понял, к чему это? Ведь отдельно int в сигнале передается, отдельно QTcpSocket * передается, а в структуре вместе не хотят... Типы, которые используются в сигнал-слотах, должны быть известны мета-объектной системе Qt. Сообщение отредактировал BRE - 9.12.2009, 9:56 |
|
|
OrSOn |
9.12.2009, 9:57
Сообщение
#29
|
Студент Группа: Участник Сообщений: 46 Регистрация: 8.12.2009 Пользователь №: 1289 Спасибо сказали: 0 раз(а) Репутация: 0 |
Тогда не понимаю, почему у меня из основного потока в дополнительный все отлично пересылалось. Ну да ладно, главное, что теперь знаю,к ак обойти сие дело. Спасибо большое за помощь!
|
|
|
OrSOn |
9.12.2009, 10:37
Сообщение
#30
|
Студент Группа: Участник Сообщений: 46 Регистрация: 8.12.2009 Пользователь №: 1289 Спасибо сказали: 0 раз(а) Репутация: 0 |
Поспешил я с тем, что все получилось... Снова нужна помощь... Суть в том, что да, из потока теперь сигналы отсылаются, только вот в поток сигналы перестали доходить... Я вот попробовал несколько изменить приведенный выше пример, добавив в него обратный сигнал:
Пример
Так вот в signalReceived() он не заходит... Черт, снова напутал с оформлением, извиняюсь перед модераторами! |
|
|
Текстовая версия | Сейчас: 3.1.2025, 6:19 |