Перевести QVariant обратно в мой указатель на объект |
Здравствуйте, гость ( Вход | Регистрация )
Перевести QVariant обратно в мой указатель на объект |
kruger |
27.10.2015, 10:51
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 6.10.2015 Пользователь №: 4459 Спасибо сказали: 0 раз(а) Репутация: 0 |
У меня есть класс производный от QObject.
Я его засовываю в QVariant таким образом:
Обратно пытаюсь перевести так: Но появляется такая ошибка:Цитата /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? |
|
|
kruger |
27.10.2015, 12:52
Сообщение
#2
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 6.10.2015 Пользователь №: 4459 Спасибо сказали: 0 раз(а) Репутация: 0 |
а зачем ты к QObject * приводишь? Так ты из QVariant-а только указатель на QObject и сможешь вынуть. А как же виртуальное наследование и прочее? Это мысли в слух. Ты прав, поменяв с QObject на CMyStatus, стал получать валидный указатель, а до этого был 0x0, что странно!В qvariant_cast приведение происходит с помощью reinterpret_cast, а не dynamic_cast, тогда почему 0x0 в случае с приведением объекта к родителю и последующим прведением к QVariant? |
|
|
Текстовая версия | Сейчас: 29.4.2024, 2:14 |