ich habe vermutlich ein Problem mit der Implementierung einer rowCount()-Methode.
Mein Programm zeigt Daten einer SQLite-Tabelle in einer TableView an und beschränkt die Datenmenge manchmal auf 256 Zeilen.
Vereinfacht mache ich folgendes:
1. erzeuge Objekt vom Typ WeightsTableModel, abgeleitet von QSqlQueryModel, verknüpfe mit Daten
2. erzeuge Objekt WeightsSortFilterProxyModel, abgeleitet von QSortFilterProxyModel (ohne selbst hinzugefügten Code), per setSourceModel() wird das WeightsTableModel verknüpft
4. meiner WeightsTableView(), abgeleitet von QTableView, wird per setModel() das WeightsSortFilterProxyModel übergeben
soweit funktioniert alles, alle 800 Zeilen einer Tabelle werden dargestellt.
Jetzt kommt der Punkt 3:
3. erzeuge Objekt WeightsGroupingProxyModel, abgeleitet von QAbstractTableModel, setze wie oben das WeightsSortFilterProxyModel als sourceModel und übergebe an WeightsTableView, jetzt stellt die TableView nur noch 256 Zeilen dar.
Meine rowCount-Methode in WeightsGroupingProxyModel sieht so aus:
Code: Alles auswählen
int WeightsGroupingProxyModel::rowCount(const QModelIndex & parent) const
{
return sourceModel->rowCount();
}
Hat jemand einen kleinen Gedankenanstoß für mich?
Grüße,
Gernot