に拡張QGraphicsItemを追加し、私はこのようにQtのクラスQGraphicsItem
を拡張するクラスAtom
作成しました:その後Qtはシーン
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を取得します。QListは、Atomクラスのプロパティとメソッドを持っていません。
QGraphicsSceneに追加したAtomsのリストを取得するにはどうすればよいですか?
ありがとうございました。
ありがとうございました。 'dynamic_cast(item)' vs '((Atom *)item)'の違いは何ですか? –
Joel
@Joel:http://stackoverflow.com/questions/28002/regular-cast-vs-static-cast-vs-dynamic-cast – Mat
ありがとうございました。私は今理解していると思う。 – Joel