Löschen / Zurücksetzen eines Modells in qt (Entfernen aller Zeilen)

8

Ich bin ein wenig verwirrt darüber, wie man die Daten in Verbindung mit einem QAbstractItemModel korrekt zurücksetzt oder löscht. Ich schreibe eine Anwendung, in der der Benutzer mit einem neuen Satz von Daten (leer oder klein) neu beginnen kann.

Soll ich das alte Modell löschen, wenn der Benutzer diese Anfrage stellt? Oder sollte ich das Modell in Ruhe lassen und nur alle Zeilen entfernen?

Grüße, Dan O

    
Dan O 27.09.2009, 00:46
quelle

3 Antworten

4

Im Allgemeinen würde ich es vorziehen, wenn das Modell auf Veränderungen reagiert und die notwendigen Maßnahmen ergreift, um seine Ansicht zu aktualisieren (indirekt natürlich). Programmiermodelle können jedoch ein PITA sein (= ist), also würde ich wahrscheinlich durch die Finger schauen, wenn ich Code überprüfe, der ein neues Modell erstellt und das alte gelöscht hat. Tun Sie dies nur, wenn Sie sicher sind, dass der Benutzer nur alle Zeilen löscht. Wenn der Benutzer Elemente inkrementell aus dem Modell löschen kann, ist es wahrscheinlich am besten, die Entfernung zuerst ordnungsgemäß zu implementieren ...

Außerdem kann ModelTest Ihnen dabei helfen, Probleme mit Ihren Qt-Modellen zu entdecken.

    
larsmoa 27.09.2009, 16:58
quelle
5

Ich weiß nicht, auf welche Weise es wirklich "besser" ist, aber das Entfernen aller Zeilen kann eine ziemlich einfache Funktion sein, etwa so:

%Vor%     
TheUndeadFish 27.09.2009 18:27
quelle
4

Wenn der Benutzer wirklich mit einem neuen Datensatz beginnt, ist es für mich sinnvoll, einfach das alte Modell zu löschen und ein neues zu erstellen. Einfach, effektiv und entspricht dem, was der Benutzer tut.

    
Caleb Huitt - cjhuitt 27.09.2009 03:29
quelle