QTableView排序
1.由于是点击HeaderView进行排序,所以初始代码
//排序 //QTableView model->lgoods_model view->lgoods_view lgoods_head_view = lgoods_view->horizontalHeader(); lgoods_head_view->setSortIndicator(0,Qt::AscendingOrder); lgoods_head_view->setSortIndicatorShown(true); connect(lgoods_head_view,SIGNAL(sectionClicked(int)),this,SLOT(view_sort(int)));
2.view_sort槽函数
/* * 名称:view_sort * 功能:QTableView排序 * 参数:int * 返回:void */ void LSell::view_sort(int column) { int i = lgoods_head_view->sortIndicatorOrder(); if(0 == i) lgoods_model->sort(column,Qt::AscendingOrder); else lgoods_model->sort(column,Qt::DescendingOrder); }
完成后遇到的一个问题是,排序时数字排序是乱序
那是因为我QTbaleView数据设置的是按照QString的方式存储的,设置成数字存储后即可,代码如下:
//字符串方式 QString g_name = query.value(0).toString(); lgoods_model->setItem(row,0,new QStandardItem(g_name)); //数字方式 QVariant g_last = query.value(1); QStandardItem *item_last = new QStandardItem(); item_last->setData(g_last,Qt::EditRole); lgoods_model->setItem(row,1,item_last);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)