[partly solved] Problem mit QSortFilterProxy / Optimierung
Verfasst: 11. September 2010 19:43
Ich habe Datensätze die (vereinfacht) so aussehen:
Ich fülle ein eigenes QAbstractItemModel mit den Daten aus einer DB, es sind
Mein Ansatz erreicht das, allerdings nur dadurch das quasi jedes Element bei nicht eintreffen des Suchkriteriums solange (Kindes-)Kinder testet bis alle nicht erfüllt sind oder eines erfüllt ist. Erfüllt ein Item die Suchkriterien werden die QModelIndex'es aller parents sowie aller Kinder und Kindeskinder in ein QSet gesteckt. filterAcceptsRow() testet ob der derzeitige Index schon im Set ist, wenn ja wird die das item gezeigt, sonst getestet, alle Kinder getestet und ggf. nicht gezeigt.
Problem dabei: ich halte im Worstcase jeden vorhandenen QModelIndexes im QSet vorrätig ... die ich ja eigentlich nur in der Filterphase des QSortFilterProxyModels brauche ...
Geht das nicht besser?
Code: Alles auswählen
- Datenbank1
- Exp1
- Ina
- Trial01
- Mod1
- Mod usw
- Trial02
- Mod usw
- Trial usw
- Subjects usw
- Exp usw
- Datenbank usw
- ca 5 Datenbank-nodes
ca 10-30 Experimente je Datenbank
ca 10-40 Subjekte je Experiment
ca 1-20 Trials je Subjekt
ca 2-6 Modalitäten je Trial
Code: Alles auswählen
- Datenbank1
- Exp1
- Ina
- Trial01
- Mod1
- Mod usw
- Trial02
- Mod usw
- Trial usw
Problem dabei: ich halte im Worstcase jeden vorhandenen QModelIndexes im QSet vorrätig ... die ich ja eigentlich nur in der Filterphase des QSortFilterProxyModels brauche ...
Geht das nicht besser?