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

问题:

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

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

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

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

解决方法:

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);

先贴上代码,这是将Vector当中储存的数据对放置在Table中,升序sort第一列数字。

你可能感兴趣的:(Qt,C++)