• 7341阅读
  • 3回复

QTableView中行号不刷新的问题![请各位帮忙解决,谢谢先] [复制链接]

上一主题 下一主题
离线tigeroar
 

只看楼主 倒序阅读 楼主  发表于: 2011-12-25
QTableView中行号不刷新的问题![请各位帮忙解决,谢谢先]

    mFaultTableView = new QTableView(this);
    mFaultModel = new QStandardItemModel(this);
    mFaultModel->setColumnCount(4);
    QStringList srHeaderList;
    srHeaderList << tr("状态") << tr("时间") << tr("编码") << tr("顺序");
    mFaultModel->setHorizontalHeaderLabels(srHeaderList);
    mFaultTableView->setModel(mFaultModel);
    mFaultTableView->setEditTriggers(QAbstractItemView::NoEditTriggers);

以上代码是设置模型,模型数据添加如下

createModelData(ErrorList_t &stErrList)
{
    blockSignals(true);
    if(mFaultModel->rowCount()>0)
    {
        mFaultModel->removeRows(0,mFaultModel->rowCount());
        mFaultModel->setRowCount(0);
    }
    
    QList<QStandardItem *> itemList;
    QStandardItem *csItem;

    ErrorIter_t itBeg = stErrList.begin();
    ErrorIter_t itEnd = stErrList.end();
    for(;itBeg!=itEnd;itBeg++)
    {
        itemList.clear();
        csItem = new QStandardItem(QString("%1").arg(GetStatus(&(*itBeg))));
        itemList.push_back(csItem);
        csItem = new QStandardItem(QString("%1").arg(GetTime(&(*itBeg))));
        itemList.push_back(csItem);
        csItem = new QStandardItem(QString("%1").arg(GetCode(&(*itBeg))));
        itemList.push_back(csItem);
        csItem = new QStandardItem(QString("%1").arg(GetOrder(&(*itBeg))));
        itemList.push_back(csItem);

        mFaultModel->appendRow(itemList);
    }
    blockSignals(false);
}
问题:第一次向模型加载数据时,行号显示正常,但是第二次向模型加载数据时,
则行号不再刷新,仍然显示上一次的行号,也不随军滚动条滚动,
请各位帮忙解决,谢谢先!

离线tigeroar

只看该作者 1楼 发表于: 2011-12-25
版主帮个忙吧,谢谢先。
离线tigeroar

只看该作者 2楼 发表于: 2011-12-29
无解,还是没有人遇到这样的问题?
离线babubabu3

只看该作者 3楼 发表于: 2012-07-10
我也遇到同样的问题,reset后行数行数还是固定不变,数据少时就空着下面几行,多时多的数据行不显示,但是查看返回的rowcount的数值是正确的,请问楼主这个问题解决没
快速回复
限100 字节
 
上一个 下一个