Russian Qt Forum

Qt => Общие вопросы => Тема начата: Fregloin от Май 13, 2013, 18:15



Название: QMetaProperty не может прочитать свойство
Отправлено: Fregloin от Май 13, 2013, 18:15
При перечислении свойств объекта получаю такое в консоли, как обработать этот тип корректно?
QMetaProperty::read: Unable to handle unregistered datatype 'QGraphicsEffect*' for property 'QGraphicsObject::effect'


Название: Re: QMetaProperty не может прочитать свойство
Отправлено: vintik от Май 14, 2013, 13:00
Кусочек бы кода, а так чё-то не сообразить


Название: Re: QMetaProperty не может прочитать свойство
Отправлено: thechicho от Май 14, 2013, 15:14
qRegisterMetaType<QGraphicsEffect>("QGraphicsEffect");
//qRegisterMetaType<QGraphicsEffect*>("QGraphicsEffect*");


Название: Re: QMetaProperty не может прочитать свойство
Отправлено: Fregloin от Октябрь 31, 2013, 14:01
Код:
void QRailItem::copyFunction(QRailItem *Item)
{
    const QMetaObject *   sourceMetaObject = Item->metaObject();
    for(int i=0;i<sourceMetaObject->propertyCount();i++)
    {
        QMetaProperty   prop = sourceMetaObject->property(i);
        if(!prop.isValid())
            continue;
        QVariant    copyValue = Item->property(prop.name());
        setProperty(prop.name(),copyValue);
    }
}

Как узнать что данное свойство не читается? если тип не зарегистрирован, то я это свойство просто буду игнорировать.


Название: Re: QMetaProperty не может прочитать свойство
Отправлено: Fregloin от Февраль 05, 2014, 13:20
никаких новостей по этому поводу?