情况如下:
- 有两个类同时继承
QGraphicsItem和QObject-Car和Bike。 - 每个类都有几个对象使用
QGraphicsScene myScene. - 在某些时候,两个对象被选中并且可以通过
myScene.selectedItems() - 为交互
Car - Car,Bike - Bike,定义了不同的行为Bike - Car。
由于QGraphicsItem不继承自我QObject无法metaObject()->className()在以下期间调用项目:
foreach(QGraphicsItem* item,this->scene.selectedItems())
{
item->metaObject()->className(); --error 'class QGraphicsItem' has no member named 'metaObject'
}
可以使用QGraphicsItem::data,但需要setData(...)在创建对象时设置执行它。
问:有什么方法可以获取selectedItems列表中存在哪些对象的信息(理想情况下使用className()),以便使用正确的交互功能?