QTableWidget点击表头排序详解

需要将QTableWidget设置为可以被点击,然后用下面的connect将点击信号与排序槽函数进行连接就可以了,注意,槽函数sortByColumn(int)需要自己定义。

connect(ui->tableWidget->horizontalHeader(),SIGNAL(sectionClicked(int )),this, SLOT(sortByColumn(int)));

ui->tableWidget->horizontalHeader():QTableWidget表头组件

sectionClicked(int ):点击表头信号

sortByColumn(int):点击表头对应的排序槽函数。

定义sortByColumn(int)槽函数:

QTableWidget组件有对应的排序函数void sortItems(int column, Qt::SortOrder order = Qt::AscendingOrder);参数 column是点击列表的列数,order 是表示当前排序方式为升序还是降序,AscendingOrder为升序,DescendingOrder为降序

如果想设置点击一下升序,再点击降序如此重复的话。我是用一个bool SortUporDown作为标志位,默认给true,点击一次,变换一次本身的值。代码如下:

void LogManagement::sortByColumn(int n)
{
    if(SortUporDown)
    {
        ui->tableWidget->sortItems(n, Qt::AscendingOrder);
        SortUporDown=false;
    }
    else
    {
        ui->tableWidget->sortItems(n, Qt::DescendingOrder);
        SortUporDown=true;
    }
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值