2010-06-20 16 views
5

Ich verwende QTableView + QStandardItemModel, um einige Daten anzuzeigen (Daten in einer anderen Datenstruktur gespeichert), und diese Tabellenansicht ist sortierbar.QTableView Sortiersignal?

Da es sortierbar ist, muss ich beim Sortieren dieses Modells auch die Reihenfolge der gespeicherten Daten sortieren. Ich versuche, einen Slot für das Sortiersignal zu implementieren, aber ich weiß nicht, welches Signal ausgegeben wird, wenn ich auf den Header klicke, um die Sortieraktion zu starten.

Ich versuchte das angeklickte Signal, aber es wird nur für die Datenzeile ausgegeben, nicht für die HeaderData. Was soll ich tun, wenn ich beim Sortieren von QtableView + QStandardItemModel noch etwas anderes machen möchte?

Antwort

6

der Kopfzeile der Ansicht kann durch

QHeaderView * QTableView::horizontalHeader() const

Jetzt mit dem QHeaderView, erhalten werden, können Sie einen Schlitz auf das Signal verbinden können,

void QHeaderView::sectionClicked (int logicalIndex) [signal]. 

Von der Qt 4.5 Dokumentation, Dieses Signal wird ausgegeben, wenn auf einen Abschnitt geklickt wird. Der logische Index des Abschnitts wird durch logicalIndex angegeben. Beachten Sie, dass das sectionPressed-Signal ebenfalls ausgegeben wird.

Ich hoffe, es hilft.

+0

, die sehr hilfreich sind, vielen Dank :) :) –

Verwandte Themen