Seite 1 von 1

Singale von Objekten in Container

Verfasst: 28. April 2008 10:30
von moviemax
Ich suche eine Möglichkeit wie ich einfach!
Signale abfangen kann die Objecte abfeuern die sich in
einer QLinkedList<myObject *> gespeichert sind.
Beispiel :

Code: Alles auswählen

 

class FeuertLos : public QThread 
{
 Q_OBJECT

public: 
 FeuertLos(QObject *parent = 0);  
protected:
  /*overwrite */  void run() ;
  .... 
};

//  AndereClasse.cpp 
...

   FeuertLos *fl = new FeuertLos(this);
   fl->start();
   m_FeuertListe.add(fl);
Jetzt will ich das object löschen wenn es finisched() emitiert hat:
müsste ich für jedes object ein connect establishen und diesen dann
wieder deconnecten oder gibt es da etwas "more convienient"

moviemax

Verfasst: 28. April 2008 11:31
von PeterLustig
Du kannst auch Objekte innerhalb einer Liste ganz normal connecten.. Allerdings musst du dich selbst darum kümmern, dass das Item auch wieder aus der Liste gelöscht wird.

Verfasst: 28. April 2008 12:18
von upsala
Da du wahrscheinlich alle Objecte auf den selben Slot connectest, könntest du dir noch QObject::sender() ansehen.

Verfasst: 28. April 2008 15:26
von moviemax
danke für Eure Tips. genau darum geht es: Wenn der run() durch ist
und dies mit finished signalisiert hat, soll das Object - und natürlich der
Zeiger aus der Liste. vorher noch sowas wie deleted (QString fName )
emitieren.
moviemax

Verfasst: 28. April 2008 17:07
von PeterLustig
Und wo ist dein Problem?

Verfasst: 28. April 2008 18:55
von upsala
Dass wir Ihm nicht die gesamte Arbeit abnehmen...