您的位置:首页 > 编程语言 > Qt开发

QTableWidget为一列数据排序,整形数据排序 #Qt Creator

2015-11-06 14:23 731 查看
问题:

TableWidget有自己的Sort函数,setSortingEnabled()

可以让表头被点击的时候自动sort当前的列的数据,但是如果数据是以QString储存的话

在Sort数字时就出现了问题,比如说100会出现在20之前,因为它的第一位是1比2小

===================================================================

解决方法:

<span style="font-size:14px;">for(Iter=Temp.begin();Iter!=Temp.end();Iter++)
{
//QTableWidgetItem* item = new QTableWidgetItem(QString::number(Iter->addr));
QTableWidgetItem* item = new QTableWidgetItem;
item->setData(Qt::DisplayRole,Iter->addr);
ui->activeValue->setItem(m,0,item);
ui->activeValue->item(m,0)->setFlags(ui->activeValue->item(m,0)->flags() & (~Qt::ItemIsEditable));
ui->activeValue->setItem(m,1,new QTableWidgetItem(QString::number(Iter->value)));
m++;
}
ui->activeValue->sortByColumn(0,Qt::AscendingOrder);</span>

先贴上代码,这是将Vector当中储存的数据对放置在Table中,升序sort第一列数字。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: