现在的位置: 首页 > 综合 > 正文

QTable中点击Header实现按列排序的方法

2013年12月02日 ⁄ 综合 ⁄ 共 410字 ⁄ 字号 评论关闭

我们知道,在可视化的数据库软件中,一般都支持点击列名然后使该列下的值进行排序。那么在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)));

抱歉!评论已关闭.