QTableView 排序信号?

7
我使用QTableView + QStandardItemModel来展示一些数据(数据存储在其他数据结构中),并且这个表格视图是可排序的。
由于它是可排序的,当对该模型进行排序时,我还需要对存储的数据进行排序。我尝试实现一个用于排序信号的槽,但我不知道在单击标题以开始排序操作时会发出什么信号。
我尝试了clicked信号,但它只对数据行发出,而不是对headerData发出。
如果我想在排序QtableView+QStandardItemModel时执行其他操作,该怎么办?
2个回答

11

通过以下方式可以获取视图的标题:

QHeaderView * QTableView::horizontalHeader () const

现在,使用获取到的 QHeaderView,您可以将插槽连接到信号中:

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

从Qt 4.5文档中,当单击一个部分时,将发出此信号。该部分的逻辑索引由logicalIndex指定。请注意,还将发出sectionPressed信号。

希望这有所帮助。


5

排序指示器更改后会触发sortIndicatorChanged事件,而sectionClicked事件不会触发。 - Alsatian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接