2010-06-20 8 views
5

J'utilise QTableView + QStandardItemModel pour afficher certaines données (données stockées dans une autre structure de données), et cette vue tabulaire est triable. Comme il est triable, lors du tri de ce modèle, j'ai également besoin de trier l'ordre des données stockées. J'essaie d'implémenter un slot pour le signal de tri, mais je ne sais pas quel signal est émis en cliquant sur l'en-tête pour lancer l'action de tri.QTableView signal de tri?

J'ai essayé le signal cliqué, mais il n'est émis que pour la ligne de données, pas pour headerData. que dois-je faire si je veux faire autre chose pendant le tri de QtableView + QStandardItemModel?

Répondre

6

L'en-tête de la vue peut être obtenue par

QHeaderView * QTableView::horizontalHeader() const

Maintenant, avec l'obtenu QHeaderView, vous pouvez connecter une fente au signal,

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

De la documentation Qt 4.5, Ce signal est émis lorsqu'une section est cliquée. L'index logique de la section est spécifié par logicalIndex. Notez que le signal sectionPressed sera également émis.

Espérons que ça aide.

+0

qui est très utile, merci beaucoup :) :) –