QTableWidget mehrere Reihen löschen

Alles rund um die Programmierung mit Qt
Antworten
sub.one
Beiträge: 4
Registriert: 19. Februar 2006 14:25

QTableWidget mehrere Reihen löschen

Beitrag von sub.one »

Hallo erstmal an alle! Mein Problem besteht darin: ich habe eine Tabelle (QTableWidget), in der immer komplette Reihen ausgewählt werden. Auswählen kann ich über die STRG Taste und linksklick unterschiedliche Reihen. Wie kann ich nun am besten die ausgeählten Reihen löschen?

Ich hab mir die ausgewählten Items über selectedItems() geholt, jedoch sind die in der QList nicht immer in gleicher Reihenfolge angeordnet. Kommt ganz drauf an, ob wirklich verschiedene Reihen ausgewählt sind, oder Reihen die direkt untereinander liegen. Ich könnte über sämtliche ausgewählten Items iterieren und mit die jeweilige Reihe holen und abspeichern, falls die Reihe noch nicht gefunden wurde. Am Schluß lösche ich dann von hinten nach vorne sämtliche Reihen, aber elegant ist diese Lösung nicht. Kann man da nicht was über das selectionModel machen?
sub.one
Beiträge: 4
Registriert: 19. Februar 2006 14:25

Beitrag von sub.one »

Hab das Problem eben gelöst:

Code: Alles auswählen

          QModelIndexList indexList = tableWidget->selectionModel()->selectedIndexes();
          
          QListIterator<QModelIndex> indexIt(indexList);
          indexIt.toBack();
          
          while(indexIt.hasPrevious()){
             QModelIndex index = indexIt.previous();
             if(index.column() == 0) tableWidget->removeRow(index.row());
          } 
Antworten