我創建了一個類Atom
擴展了Qt類QGraphicsItem
這樣的:Qt的添加擴展的QGraphicsItem場景
Atom::Atom(qreal rad, qreal mass, int element, int state) : QGraphicsItem()
{
// Initialization code
}
void Atom::changeState(int newState)
{
// Code...
}
然後,我在我的原子添加到場景是這樣的:
Atom *a=new Atom(rad,mass,element,state);
a->setPos(pos);
scene->addItem(a);
但是,Qt將我的Atom類轉換爲QGraphicsItem類。現在,當我打電話給scene->items()
時,我得到了一個QGraphicsItems的QList,它沒有我的Atom類的屬性和方法。
所以,我問的問題:我將如何去獲得我添加到我的QGraphicsScene的原子列表?
謝謝。
謝謝。 'dynamic_cast(item)'vs'((Atom *)item)有什麼區別? –
Joel
2012-02-05 20:30:45
@Joel:http://stackoverflow.com/questions/28002/regular-cast-vs-static-cast-vs-dynamic-cast – Mat 2012-02-05 20:36:01
謝謝。我想我現在明白了。 – Joel 2012-02-05 20:42:23