QList sortieren?

Alles rund um die Programmierung mit Qt
Antworten
Whitefurrows
Beiträge: 138
Registriert: 1. Mai 2006 19:50

QList sortieren?

Beitrag von Whitefurrows »

Hallo,

ich versuche eine QList mit QPushButton zu sortieren:

Code: Alles auswählen

QList<QPushButton *> pbList;
//...
qSort(pbList.begin(),pbList.end(),lessObjectName);

bool MyClass::lessObjectName (const QObject *fp_w1, const QObject *fp_w2)
{
	return fp_w1->objectName() < fp_w2->objectName();
}
Leider funktioniert es so nicht. Allerdings wenn ich einfach dies über meine Klasse schreibe:

Code: Alles auswählen

bool lessObjectName (const QObject *fp_w1, const QObject *fp_w2)
{
	return fp_w1->objectName() < fp_w2->objectName();
}
funktioniert es. Kann mir jemand sagen, wo der Fehler ist und wie ich das ganze in meiner Klasse benutzen kann?

Gruß

Whitefurrows
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Die sort-Funktion muss static sein.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Whitefurrows
Beiträge: 138
Registriert: 1. Mai 2006 19:50

Beitrag von Whitefurrows »

Wie meinst du dass?

Code: Alles auswählen

static MyClass::lessObjectName (const QObject *fp_w1, const QObject *fp_w2) 
{ 
   return fp_w1->objectName() < fp_w2->objectName(); 
}
So funktioniert es nicht!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Whitefurrows hat geschrieben:Wie meinst du dass?

Code: Alles auswählen

static MyClass::lessObjectName (const QObject *fp_w1, const QObject *fp_w2) 
{ 
   return fp_w1->objectName() < fp_w2->objectName(); 
}
So funktioniert es nicht!
Doch, allerdings sollte man das static im header definieren. Und ein Rückgabetyp fehlt auch...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Whitefurrows
Beiträge: 138
Registriert: 1. Mai 2006 19:50

Beitrag von Whitefurrows »

Au :? das tut weh, sorry für die dumme Frage. Problem ist gelöst, vielen Dank!
Antworten