Seite 1 von 1

Selektion in einem QTableWidget

Verfasst: 4. August 2009 14:10
von graythornAK
Hallo zusammen,

...und ich dachte ich könnte programmieren... :oops:

Leider bekomme ich die Selection von Zeilen in einem QTableWidget nicht hin. Folgendermaßen ist das QTableWidget initialisiert:

Code: Alles auswählen

	m_pTableLayers->setSelectionBehavior(QAbstractItemView::SelectRows);
	m_pTableLayers->setSelectionMode(QAbstractItemView::ExtendedSelection);
Also kann ich mehrere Zeilen (mit Ctrl und so) an und abwählen, das klappt auch gut.

Frage 1)
Wenn ich jetzt

Code: Alles auswählen

m_pTableLayers->selectRow(lRow);
ausführe wird die angegebene Zeile zwar gewählt, der rest jedoch abgewählt. Ich möchte aber die gewählte Zeile zusätzlich wählen.

Frage 2)
Wie kann ich eine Reihe im QTableWidget programmgesteuert abwählen. Wahrscheinlich ganz einfach, aber ich sehe es schlichtweg nicht.

Frage 3)
Die nächste Frage ist wahrscheinlich genauso blöd, aber ich sehe die Antwort nicht in der Klassenbeschreibung:
Wie kann ich im Program abfragen, ob eine bestimmte Zeile im obigen QTableWidget selektiert bzw. deselektiert ist?

Danke und Gruß
Andreas

Verfasst: 4. August 2009 15:26
von peter999
Versuche mal zusätzlich:

m_pTableLayers->setSelectionMode(QAbstractItemView::ExtendedSelection| QAbstractItemView::MultiSelection);

Dann sollte die Zeile mit selectRow getoggled werden, also wenn markiert, dann wird sie demarkiert und umgekehrt.

Die Markierungen bekommst Du entweder mit QTableView::

QList<QTableWidgetItem *> selectedItems ()
QList<QTableWidgetSelectionRange> selectedRanges () const