Seite 1 von 1

QTablieView + SQL + Threads

Verfasst: 26. August 2010 09:21
von pfid
Hallo,

ich hab mit der Suche auf Anhieb nichts gefunden, daher ein neuer Thread.
Ich habe ein Programm, dessen Hauptaufgabe es ist, Daten aus der Datenbank darzustellen. Dementsprechend besteht das Hauptfenster quasi nur aus einer TableView, die die Datenbankdaten darstellt.

Bei großen Datenmengen (je nachdem, wie der User den Filter wählt), dauert das select sehr lange, und die GUI blockiert. Als Verbesserung hatte ich mir hier überlegt, das select in einen Thread auszulagern.
Das Model meiner View ist eine Ableitung von QSqlTableModel, und macht noch ein bisschen mehr Zauberei als die Basisklasse, daher kann ich leider auch nicht einfach auf einzelne Queries umsteigen.

Daher folgende Fragen:

- ist das prinzipiell möglich, ein QTableView/QSqlTableModel-Gespann mit Threads zu verbinden?
- wie ist der Grundlegende Ansatz, das select mit Threads abzubilden?
- falls nein, gibts Alternativvorschläge? (canFetchMore/fetchMore funktioniert afaik bei mysql nicht)

Verfasst: 28. August 2010 10:20
von philistion
Interessante Frage, wenn du die Daten per data() zurückgibst und canFetchMore weglässt, könntest du theoretisch das Nachfüllen eines eingebauten QCache() dort starten.

Ich bin aber nicht sicher ob das einen Performance-Vorteil bringt, im Vergleich dazu dass man einfach direkt in data() nachlädt.

Gibt es zu diesem Thema denn noch gar keine Erfahrungen?