crossplatform.ru

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

> Перевести QVariant обратно в мой указатель на объект
kruger
  опции профиля:
сообщение 27.10.2015, 10:51
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 15
Регистрация: 6.10.2015
Пользователь №: 4459

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




Репутация:   0  


У меня есть класс производный от QObject.
Я его засовываю в QVariant таким образом:
QVariant::fromValue<QObject *>(pStatus);

Обратно пытаюсь перевести так:
CMyStatus *pObj = qvariant_cast<CMyStatus *>( var );
Но появляется такая ошибка:
Цитата
/usr/include/qt4/QtCore/qmetatype.h:169:80: error: 'qt_metatype_id' is not a member of 'QMetaTypeId<CMyStatus*>'
static inline int qt_metatype_id() { return QMetaTypeId<T>::qt_metatype_id(); }


Как правильно получить мой объект из QVariant?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 27.10.2015, 12:25
Сообщение #2


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

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

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




Репутация:   94  


Цитата(kruger @ 27.10.2015, 12:51) *
Я его засовываю в QVariant таким образом:
QVariant::fromValue<QObject *>(pStatus);
а зачем ты к QObject * приводишь? Так ты из QVariant-а только указатель на QObject и сможешь вынуть.

См. доку по
T QVariant::value () const
и void QVariant::setValue ( const T & value )
Этого достаточно

Сообщение отредактировал Litkevich Yuriy - 27.10.2015, 12:27
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




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