• 4513阅读
  • 2回复

[提问]tableView的C++Model调用resetmodel很卡,有人知道原因吗? [复制链接]

上一主题 下一主题
离线mmlgq
 

只看楼主 倒序阅读 楼主  发表于: 2017-08-16
关键词: C++qmlmodel
tableview数据全部更新了,调用begingresetmodel();endresetmodel();界面随着数据的增加每次刷新会越来越卡。有人遇到过这个问题吗?
离线15145093145

只看该作者 1楼 发表于: 2017-08-16
begingresetmodel();
你的数据更新代码。。。
endresetmodel();
离线mmlgq

只看该作者 2楼 发表于: 2017-08-16
感谢回复,代码上我的数据更新很简单,就是切换下数据。
void QFreqListModel::tableSwitch(const QString in_strTableName)
{
    //QMap<QString,QVector<QVector<QVariant>>>  m_mTableData 全部数据结构
    //QVector<QVector<QVariant> *m_pCurTable 当前界面显示数据
    //切换到指定表名的表
    if(in_strTableName == m_strCurTableName)
        return;
    if(m_mTableData.contains(in_strTableName))
    {
        //QVector<QVector<QVariant>> & m_vOldData = m_mTableData[m_strCurTableName];
        beginResetModel();
        m_strCurTableName = in_strTableName;
        m_pCurTable = &m_mTableData[m_strCurTableName];
        endResetModel();
    }
}


问题出现在,m_pCurTable数据增加,就是row变多后,每次endresetmodel这里都会很卡,数据太多,主界面直接无响应...

快速回复
限100 字节
 
上一个 下一个