Qt QTableView setData的坑

前言

最近在使用QTableView的时候遇到一个坑,我在添加的数据后,始终不显示。原来是我用错了setData导致的。具体代码如下

 

代码示例

    m_pModel->clear();
    PM_TableItemDataList dataList = initUIData();
    PM_TableItemData itemData;


    m_pModel->setHorizontalHeaderLabels(initTbHeader());
    m_pModel->setRowCount(dataList.count());
    for (int var = 0; var < dataList.count(); ++var)
    {
        itemData = dataList.at(var);
        //        addTableItemView(var, itemData);


        //    m_pModel->appendRow(QList<QStandardItem *>() << new QStandardItem(itemData.text));
        //    qDebug() << __LINE__ << __FUNCTION__ << " :" << itemData.text;
        m_pModel->setItem(row, TB_COL_NAME, new QStandardItem(itemData.text));
        
       // 此处是错误的用法,最终会导致数据不能显示
        //    m_pModel->setData(m_pModel->item(row, TB_COL_NAME)->index(),
        //                      QVariant::fromValue(itemData));
        // 此处是正确的用法
        m_pModel->item(row, TB_COL_NAME)->setData(QVariant::fromValue(itemData));
    }

 

版权声明:
作者:小何
链接:https://ligo100.cn/qianduanjishu/179.html
来源:小何博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录