Seite 1 von 1
[gelöst] QList sortieren?
Verfasst: 6. März 2006 11:06
von Marco812
Hallo,
ich habe eine QList, wie kann ich diese nach objectName()Sortieren?
QList<QPushButton *> pbList= this->findChildren<QPushButton *>();
Ich habe es schon so versucht, geht aber nicht
qSort(pbList.begin(),pbList.end());
oder gibt es eine Möglichkeit einem QPushButton einen Wert zuzuweisen und in der Reihenfolge wird dieser dann aufgelistet in pbList.
Gruß
Marco812
Re: QList sortieren?
Verfasst: 6. März 2006 15:09
von Esleborn
Code: Alles auswählen
bool lessObjectName (const QObject *fp_w1, const QObject *fp_w2)
{
return fp_w1->objectName ( ) < fp_w2->objectName ( );
}
...
qSort(pbList.begin(),pbList.end(),lessObjectName);
...
könnte funktionieren, hab aber grad keine Zeit zum testen...
PS: Entsprechend kann die
less natürlich auch nach einem zugeordneten Wert sortieren...
Verfasst: 6. März 2006 19:56
von Marco812
Hallo,
so geht es vielen Dank.
Gruß
Marco812
Verfasst: 13. März 2006 12:47
von sascha
Hallo!
Also ich habe das auch mal versucht, aber ich bekomme die Fehlermeldung:
"Ausdruck ergibt keine Funktion, die 2 Argumente übernimmt."
Mein Code:
Code: Alles auswählen
void DataModel::addDataItem(const DataModelItem &item)
{
m_Items.append(item);
qStableSort(m_Items.begin(), m_Items.end(), dataItemLessThan);
emit layoutChanged();
}
bool DataModel::dataItemLessThan(const DataModelItem &itemA, const DataModelItem &itemB)
{
return itemA.getFileName() < itemB.getFileName();
}
Hat einer eine Idee, warum das bei mir nicht geht?
Ach ja, m_Items ist ein QVector<DataModelItem>
Verfasst: 13. März 2006 15:37
von Esleborn
dataItemLessThan sollte keine Klassenfunktion sein, denke ich mal...
müsste aber gehen wenn du sie als statisch definierst und als DataModel::dataItemLessThan übergibst... bin aber net sicher
Verfasst: 13. März 2006 19:05
von sascha
Jau danke, genau daran lag es!