Selektion in einem QTableWidget

Alles rund um die Programmierung mit Qt
Antworten
graythornAK
Beiträge: 29
Registriert: 16. März 2007 15:14

Selektion in einem QTableWidget

Beitrag 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
peter999
Beiträge: 24
Registriert: 12. Januar 2006 11:28

Beitrag 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
Antworten