我们知道,在可视化的数据库软件中,一般都支持点击列名然后使该列下的值进行排序。那么在QT下,我们该如何实现这种效果呢?
查看QT文档的QHeaderView类,发现其中有pressed和clicked信号,然后在QTableWidget的父类QTableView中可以看到sortByColumn()这个API,是按照某一列进行排序的,于是可以自定义一个槽函数sortSlot(),如下定义:
void sortSlot(){
ui.tableWidget_4->sortByColumn(index,Qt::AscendingOrder);//参数index表示排序的列数,后面的参数表示是升序还是降序
}
构造函数里:
connect(ui.tableWidget_4->horizontalHeader(),SIGNAL(sectionPressed(int)),this,SLOT(testSlot(int)));