crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V  < 1 2 3 4 >  
Ответить в данную темуНачать новую тему
> Qthread & сигналы
OrSOn
  опции профиля:
сообщение 8.12.2009, 16:12
Сообщение #11


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 8.12.2009
Пользователь №: 1289

Спасибо сказали: 0 раз(а)




Репутация:   0  


Что именно подразумевается под запуском очереди сообщений?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 8.12.2009, 16:14
Сообщение #12


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(OrSOn @ 8.12.2009, 16:12) *
Что именно подразумевается под запуском очереди сообщений?

QApplication::exec() уже работает? В main запускается...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
OrSOn
  опции профиля:
сообщение 8.12.2009, 16:16
Сообщение #13


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 8.12.2009
Пользователь №: 1289

Спасибо сказали: 0 раз(а)




Репутация:   0  


Разумеется, exec() уже выполнен, после чего я создаю потоки, привязываю сигналы... и... не получаю результата... Односторонний обмен выходит...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 8.12.2009, 16:19
Сообщение #14


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(OrSOn @ 8.12.2009, 16:16) *
Разумеется, exec() уже выполнен, после чего я создаю потоки, привязываю сигналы... и... не получаю результата... Односторонний обмен выходит...

Я специально набросал небольшой пример, что бы показать что должно работать. :)
Если у тебя не работает, то нужно смотреть твой код, так сказать, в большем объеме. Что-то ты делаешь не так.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
OrSOn
  опции профиля:
сообщение 8.12.2009, 16:26
Сообщение #15


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 8.12.2009
Пользователь №: 1289

Спасибо сказали: 0 раз(а)




Репутация:   0  


ну у меня отличия от примера только в том, что потоки создаются не в мейне, а именно, есть класс Server, а в мейне у меня описывается так:

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Server server;
    server.show();
    srand(time(0));
    return server.exec();
}


Ну а уже в сервере создаются потоки и все остальное...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 8.12.2009, 16:47
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(OrSOn @ 8.12.2009, 16:26) *
return server.exec();

А почему не app.exec()?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
OrSOn
  опции профиля:
сообщение 8.12.2009, 16:48
Сообщение #17


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 8.12.2009
Пользователь №: 1289

Спасибо сказали: 0 раз(а)




Репутация:   0  


Да потому, что разницы никакой, пробовал и app.exec(), результата 0....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 8.12.2009, 17:14
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(OrSOn @ 8.12.2009, 16:48) *
Да потому, что разницы никакой, пробовал и app.exec(), результата 0....

Ясно. :)
А что тебе программа в консоли пишет про moveToThread?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
OrSOn
  опции профиля:
сообщение 8.12.2009, 17:17
Сообщение #19


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 8.12.2009
Пользователь №: 1289

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ну в данном случае я вообще без moveToThread() делаю, а когда делал с этой функцией, не смотрел, что пишет, знаю, что сигналы переставали доходить в обе стороны... В общем, ничего не понимаю, что делаю не так...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 8.12.2009, 17:24
Сообщение #20


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(OrSOn @ 8.12.2009, 17:17) *
Ну в данном случае я вообще без moveToThread() делаю, а когда делал с этой функцией, не смотрел, что пишет, знаю, что сигналы переставали доходить в обе стороны... В общем, ничего не понимаю, что делаю не так...

moveToThread делать придется. А вот если ты указываешь parent для NThread, то moveToThread работать не будет и будет сообщать об этом в консоль.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V  < 1 2 3 4 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


8 чел. читают эту тему (гостей: 8, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 3.1.2025, 6:52