![]() |
|
![]() ![]() ![]() |
|
Mihа |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
Здравствуйте! Проблема в том, что не срабатывают слоты в вызываемые из обьекта класса QThread,который создаётся в свою очередь в QWidget.
Вот класс QWidget:
Его конструктор:
Класс потока:
Конструктор QTheart:
В методе Run сокет подключается к серверу и сигнал readBuff вполне работает. |
||||||||
|
|||||||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Переноси все из конструктора QThread в run(). Объекты, сигналы, которые создаются в конструкторе этого класса относятся к GUI потоку. Все что создано в run() - уже отдельный поток.
|
|||
|
||||
Mihа |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
Сделал так как вы говорили,но слот sockcon() всеравно не срабатывает.А разве даже если сокет создаётся в конструкторе, в GUI потоке его сигналы выполнятся не должны?
|
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Если сигналы межпоточные, то только если в конце run() стоит exec() (event loop). Межпоточные сигналы выполняются как Qt::QueuedConnection.
В .pro файле допиши CONFIG += console и собери debug версию. Ядро может плакаться в консоль, если где-то накосячил. |
|||
|
||||
kuzulis |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 5.9.2007 Репутация: нет Всего: 1 |
2 Mihа,
посмотри вот эту темку http://www.prog.org.ru/topic_8455_30.html там попробуй в коде ab.h по очереди заккоментировать строчки:
и посмотри в чем разница при выводе результатов |
|||
|
||||
Mihа |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 17.10.2008 Репутация: нет Всего: нет |
Спасибо,разобрался. Забыл поставить exec() , а насчёт moveToThread я уже читал недавно.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |