QTableView排序信号?

Cla*_*ang 6 c++ qt qt4 qtableview qabstractitemmodel

我用QTableView+ QStandardItemModel来显示一些数据(存储在其他一些数据结构中的数据),这个表视图是可排序的.

由于它是可排序的,因此在对此模型进行排序时,我还需要对存储数据的顺序进行排序.我尝试为排序信号实现一个​​插槽,但是我不知道在单击标头开始排序操作时发出了什么信号.

我尝试了点击的信号,但它仅针对数据行发出,而不是针对headerData.如果我想在排序QtableView+时做些什么我该怎么办QStandardItemModel

lia*_*iaK 7

视图的标题可以通过获得

QHeaderView * QTableView::horizontalHeader () const

现在有了获得的QHeaderView,你可以将一个插槽连接到信号,

void QHeaderView::sectionClicked ( int logicalIndex )   [signal].
Run Code Online (Sandbox Code Playgroud)

从Qt 4.5文档中,单击一个部分时会发出此信号.该部分的逻辑索引由logicalIndex.Note指定,也将发出sectionPressed信号.

希望能帮助到你.


Lib*_*rus 5

上面提到的 Header 视图有信号,sortIndicatorChanged(int, Qt::SortOrder)所以使用它可能会更聪明

另外,您可能想在此处查看QSortFilterProxyModel 更多详细信息http://doc.qt.io/qt-4.8/qsortfilterproxymodel.html#details