crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> [Qt 4.5.0] QItemSelection и Qt::QueuedConnection, странная ошибка
SABROG
  опции профиля:
сообщение 23.6.2009, 11:14
Сообщение #1


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

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

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




Репутация:   34  


Попытался сделать соединение как Qt::QueuedConnection:

        connect(tbvList->selectionModel(),
                SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
                SLOT(tbvList_selChanged(const QItemSelection &, const QItemSelection &)), Qt::QueuedConnection);


И получил такую ошибку. Чего это он?

QObject::connect: Cannot queue arguments of type 'QItemSelection'
(Make sure 'QItemSelection' is registered using qRegisterMetaType().)


А вдруг мне понадобится такое соединение, чтобы узнать в другом потоке какой итем выбран, там ведь только Qt::QueuedConnection прокатит.
---
Я конечно понимаю, что ошибку можно обойти так:

qRegisterMetatType<QItemSelection>("QItemSelection");


Да и использовать GUI совместно с потоками нежелательно. Но у меня даже цель другая была, не поточная. Просто хотел минимизировать возможное влияние другого QEventLoop'a (навеяло из другой темы). И вот интересно кто недоглядел Qt или я?
---
Документация говорит следующее:

Цитата
Note that if you intend to use the type in queued signal and slot connections or in QObject's property system, you also have to call qRegisterMetaType() since the names are resolved at runtime.

Но QItemSelection врятли можно отнести к custom type. Хотя я и не исключаю того варианта, что сделано это было, чтобы не захламлять массив зарегистрированных типов в Qt, которые могут редко использоваться.

Сообщение отредактировал SABROG - 23.6.2009, 14:00
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.6.2009, 20:35
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


QItemSelection - это ГПИ и, возможно, поэтому так происходит.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 26.12.2024, 14:15