item in Qlist ansprechen?

Alles rund um die Programmierung mit Qt
Antworten
konvex
Beiträge: 35
Registriert: 8. November 2008 17:58

item in Qlist ansprechen?

Beitrag von konvex »

hi,
ich arbeite gerade mit QList und will das eine Ellipse aus der liste mit einem slot von einer linie verbunden wird durch sowas:
QObject::connect(liste.first(), SIGNAL(loschen()), linie , SLOT(wurdeersetzt(liste.first(), item2)));
aber ich weiß nicht wie ich sag, dass liste.first() eine ellipse ist (bzw. alle ellipsen aus der liste gegeben werden). es gibt ja die funktion
QList<QGraphicsItem *> liste = items();
aber ich bräuchte sowas wie:
QList<EllipseItem *> liste = items();
oder
QList<QGraphicsItem *> liste = items(EllipseItem);
kann mir jemand helfen wie ich sowas am besten mach?
The User
Beiträge: 62
Registriert: 11. Dezember 2008 23:48

Beitrag von The User »

Code: Alles auswählen

for(QList<QGraphicsItem*>::iterator i = liste.begin(); i != liste.end(); ++i)
{
  if(EllipseItem* item = dynamic_cast<EllipseItem>(*i))
  {
    /* Do Stuff */
    linie->wurdeersetzt(item, item2);
    return;
  }
}
qDebug() << "No Ellipse in the List";
Einfach prüfen, ob es die richtige Klasse hat. ;)
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

eher

Code: Alles auswählen

if(EllipseItem* item = dynamic_cast<EllipseItem*>(*i)) 
:wink:
konvex
Beiträge: 35
Registriert: 8. November 2008 17:58

Beitrag von konvex »

Danke, hat mir schonmal weitergeholfen, aber jetzt werden durch die for-Schleife alle Ellipsen durch ne linie verbunden.
kann ich das ganze auch ohne for-schleife machen, weil ich möchte ja nur zwei miteinander verbinden!?
Antworten