Ich verwende QML TableView + eigene QAbstractTableModel und QSortFilterProxyModel. Ich habe das Sortieren implementiert, aber es funktioniert langsam. Ich habe diese Modelle ohne QML verwendet, aber mit QTableView - es hat perfekt funktioniert. 30 000 Artikel sortieren weniger als 1 Sekunden. Kann jemand helfen? Wo ist das Problem?QML Sortierung in Tabellenansicht ist sehr langsam
1
A
Antwort
0
Ich habe angenommen, dass QML alle Elemente neu streichen, während Model Daten sortiert (in jeder Iteration). Ich habe Lösung gefunden, für das Sortieren Sie müssen:
- Schalten Sie Modell in QML
- Sortieren von Elementen (Use-Modell)
- Return-Modell zurück.
Zum Beispiel
onSortIndicatorOrderChanged: {
model = null
MyModel.Sort(...)
model = MyModel
}
Mehr Details https://forum.qt.io/topic/52026/solved-sorting-qml-tableview-is-slow/4
Verwandte Themen
- 1. Arrays numpy strukturiert und Rekord Sortierung ist sehr langsam
- 2. django ist sehr langsam
- 3. UIWebView ist sehr langsam
- 4. UIImage setImage ist sehr, sehr langsam
- 5. `Friday` Paket ist sehr langsam
- 6. Elasticsearch Indizierung ist sehr langsam
- 7. RichTextBox Formatierung ist sehr langsam
- 8. Coredata ist sehr langsam; swift
- 9. TabControl Hinzufügen ist sehr langsam
- 10. Android TextureView.getBitmap() ist sehr langsam
- 11. Scrolling RecyclerView in CardView ist sehr langsam
- 12. Mongodb Aggregation - Sortierung macht die Abfrage sehr langsam
- 13. GSON Serialisierung sehr sehr langsam
- 14. QNetworkAccessManager - zuerst GET sehr langsam
- 15. Mysql Sortierung sehr Schräge
- 16. Git ist sehr langsam auf Mac/OSX
- 17. AngularJS, facettierte Suche ist sehr langsam
- 18. Warum ist numpy.array() manchmal sehr langsam?
- 19. SQLite - Select Ausdruck ist sehr langsam
- 20. Chiffre mehrere Übereinstimmung ist sehr langsam
- 21. Einfache Lasagne Netzwerk-Ausgang ist sehr langsam
- 22. Manchmal ist Pip Installation sehr langsam
- 23. Crop Video mit FFMpeg ist sehr langsam
- 24. Asp.net Website ersten Start ist sehr langsam
- 25. Python ist sehr langsam unter Windows 7
- 26. JQuery sehr langsam in IE7
- 27. Matplotlib sehr langsam. Es ist normal?
- 28. Komponist ist sehr langsam beim Herunterladen Laravel
- 29. Phantomjs funktioniert aber ist sehr langsam
- 30. PyQt Programmstart ist sehr langsam auf Ubuntu
Haben Sie versucht, es Profilierungs? Der Ersteller verfügt über einen QML-Profiler. Haben Sie ein benutzerdefiniertes Styling für das TableView? – Mitch
Wie verwende ich QML Profiler? Weil ich WPF und sehr schläfrig verwendet habe –
Und ich habe es profiliert. Profiler zeigte mir das Problem in void MySortFilterProxyModel :: Sort (const QByteArray & Rolle, Reihenfolge Qt :: SortOrder) { QSortFilterProxyModel :: setSortRole (RoleKey (Rolle)); sortieren (0, Reihenfolge); invalidate(); } –