qabstracttablemodel

___ tag123qt ___ Qt ist ein plattformübergreifendes Anwendungsentwicklungs-Framework, das häufig für die Entwicklung von Anwendungssoftware verwendet wird, die auf verschiedenen Software- und Hardwareplattformen ohne oder mit nur geringer Änderung der zugrundeliegenden Codebasis ausgeführt werden kann. Qt ist sowohl mit kommerziellen als auch mit Open-Source-Lizenzen verfügbar. ___ qstnhdr ___ So legen Sie Daten in einem QAbstractTableModel fest ___ qstntxt ___

Ich muss eine Tabelle mit Qt implementieren.

Ich glaube, ich werde ein QAbstractTableModel verurteilen, mit einer QTableView, die dieses Modell verwendet.

Ich verstehe, dass ich die Funktionen rowCount (), columnCount () und data () des Modells bearbeiten muss.

Allerdings verstehe ich nicht, wie man die Daten im Modell genau einstellt, damit die Funktion data () sie abrufen kann.

Ist die Funktion setData () für diesen Zweck vorgesehen? Ich habe gesehen, dass EditRole als Parameter verwendet wird, was ich nicht möchte, da ich nicht möchte, dass meine Tabelle editierbar ist.

Also, wie setze ich Daten innerhalb des Modells oder habe ich Daten für das Modell mit der Funktion data ()?

Wie wird die Funktion data () aufgerufen, d. h. wer ruft sie an und wo müsste sie aufgerufen werden?

Bitte helfen Sie mir dabei.

Danke.

    
___ answer14190198 ___

Wie die tatsächlichen Daten im Speicher gehalten, generiert oder von einem Datenspeicher abgefragt werden, liegt ganz bei Ihnen. Wenn es sich um statische Daten handelt, können Sie die Qt-Container-Klassen oder benutzerdefinierte Datenstrukturen verwenden.

>

Sie müssen die Methode %code% nur für bearbeitbare Modelle neu implementieren.

Es gibt 4 Methoden, die Sie in einer nicht editierbaren %code% Unterklasse implementieren müssen:

  • %code%
  • %code%
  • %code%
  • %code%

Diese Methoden werden in der Ansicht aufgerufen, normalerweise eine %code% -Instanz. Die ersten beiden Methoden sollten die Dimensionen der Tabelle zurückgeben. Wenn beispielsweise %code% %code% zurückgibt und %code% %code% zurückgibt, ruft die Ansicht die Methode %code% 40mal (einmal für jede Zelle) auf und fragt nach den tatsächlichen Daten in den internen Datenstrukturen Ihres Modells.

Angenommen, Sie haben in Ihrem Modell einen benutzerdefinierten Slot %code% implementiert. Dieser Slot füllt eine Datenstruktur und ist mit einer Instanz %code% verbunden, so dass Sie durch Klicken auf eine Schaltfläche neue Daten erhalten. Jetzt müssen Sie die Ansicht wissen lassen, wenn die Daten geändert werden, damit sie ordnungsgemäß aktualisiert werden kann. Deshalb müssen Sie die %code% , %code% , %code% , %code% und die zugehörigen Spalten ausgeben.

Die Qt-Dokumentation enthält alles, was Sie brauchen darüber zu wissen.

    
___ tag123qabstracttableModel ___ QAbstractTableModel ist eine Klasse in Qt für Modelle, die ihre Daten als zweidimensionales Array von Elementen darstellen. ___ tag123qtableview ___ QTableView ist eine Qt-Klasse, die eine Standardmodell- / View-Implementierung einer Tabellenansicht bereitstellt. ___
1
Antwort

Was ist der beste Weg, um ein animiertes Icon in einem QTableView anzuzeigen?

Ich habe jetzt schon einige Male mit diesem Problem zu kämpfen, und ich kann nicht den richtigen Weg finden, dies zu tun. Was ich möchte, ist die Möglichkeit, ein animiertes Symbol als Dekoration für einige meiner Artikel zu verwenden (normal...
05.12.2010, 21:36
1
Antwort

So legen Sie Daten in einem QAbstractTableModel fest

Ich muss eine Tabelle mit Qt implementieren. Ich glaube, ich werde ein QAbstractTableModel verurteilen, mit einer QTableView, die dieses Modell verwendet. Ich verstehe, dass ich die Funktionen rowCount (), columnCount () und data () des Mo...
07.01.2013, 03:59