Название: Как узнать тип потомка от QGraphicsItem? Отправлено: White Owl от Май 04, 2010, 22:03 У меня на сцене (QGraphicScene) есть несколько типов объектов, все потомки от QGraphicsItem.
Пытаюсь перебрать эти объекты: Код: foreach(const QGraphicsItem *item, this->scene()->items() ) { Немножко полазив по исходникам вижу что QGraphicsItem действительно не является потомком от QObject и поэтому не попадает под действие всей системе мета-объектов и qobject_cast в частности... Спрашивается, как быть? Qt 4.6.2 Название: Re: Как узнать тип потомка от QGraphicsItem? Отправлено: alexman от Май 04, 2010, 22:08 Преобразовать можно StampA *stampA = qgraphicsitem_cast<StampA*>(item)
Название: Re: Как узнать тип потомка от QGraphicsItem? Отправлено: alexman от Май 04, 2010, 22:11 А для распознавания можно переопределить метод int QGraphicsItem::type () const [virtual].
Вот примерчик Код: class CustomItem : public QGraphicsItem Название: Re: Как узнать тип потомка от QGraphicsItem? Отправлено: White Owl от Май 04, 2010, 22:13 По законам задавания вопросы на форумах: "Задавание вопроса означает что через пять минут вы сами найдете ответ"
Потомки от QGraphicItem обрабатываются через qgraphicitem_cast: http://doc.trolltech.com/4.6/qgraphicsitem.html#qgraphicsitem_cast |