![]() |
|
|
![]()
|
|
| ppopov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 17.2.2010 Где: Тюмень Репутация: нет Всего: нет |
Суть такова.
1) В главном qt потоке(mainClass) соединяем сигнал и слот двух объектов классов ASignal и BSlot, myEvent(QMap<int,QModelIndex>) 2) connect проходит 3) Существует некий объект M который создаёт boost поток из которого вызывается callMethod класса ASignal 4) callMethod вызывает внутри себя emit myEvent(QMap<int,QModelIndex>) 5) получаю такую вот в дебаг штуку ![]() Такого рода ошибки у меня были когда я создавал свой класс и недорегистрировал его в QMetaType. Получается что в отщепленном бустовском потоке не регистрируются стандартные QT типы. Как можно зарегать в QMetaType все стандартные типы QT из бустовского потока. что-то типа qRegisterMetaType для всех основных классов qt ПС.Переписывать код под qthread не имею пока возможности. Это сообщение отредактировал(а) ppopov - 26.9.2011, 13:39 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
По-моему, все нестандартные типы (QMap<что-то, что-то> к ним относится) нужно регистрировать вручную.
|
|||
|
||||
| ppopov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 17.2.2010 Где: Тюмень Репутация: нет Всего: нет |
QMap и QModelIndex - это стандартные типы qt, int - простой тип. Все это умеет пересылать. Вот тут пишут http://www.qtcentre.org/threads/8926-QObje...ype-QModelIndex You should not touch GUI in a worker thread. The GUI classes, notably QWidget and all its subclasses, are not reentrant. They can only be used from the main thread. QModelIndex is not registered because it should not be passed as a parameter in queued signals. Видать придется перпроектировать эту часть системы. :-( |
|||
|
||||
| ppopov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 17.2.2010 Где: Тюмень Репутация: нет Всего: нет |
Ну вот тут ответ на почти все мои вопросы
http://developer.qt.nokia.com/wiki/Threads...Objects_Russian |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |