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)); }
文章目录
关闭
共有 0 条评论