查看完整版本: [-- tableView的C++Model调用resetmodel很卡,有人知道原因吗? --]

QTCN开发网 -> Qt QML开发 -> tableView的C++Model调用resetmodel很卡,有人知道原因吗? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

mmlgq 2017-08-16 10:10

tableView的C++Model调用resetmodel很卡,有人知道原因吗?

tableview 的数据全部更新了,调用begingresetmodel();endresetmodel();界面随着数据的增加每次刷新会越来越卡。有人遇到过这个问题吗?

15145093145 2017-08-16 12:24
begingresetmodel();
你的数据更新代码。。。
endresetmodel();

mmlgq 2017-08-16 13:55
感谢回复,代码上我的数据更新很简单,就是切换下数据。
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这里都会很卡,数据太多,主界面直接无响应...



查看完整版本: [-- tableView的C++Model调用resetmodel很卡,有人知道原因吗? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled