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://blog.chiyuba.com/qianduanjishu/179.html
来源:小何博客
文章版权归作者所有,未经允许请勿转载。

共有 0 条评论