标题:QTableWidget在插入添加行时提示错误(内含代码)
作者:alvinlyb
日期:2017-11-24 10:35
内容:
QTableWidget在插入添加行时提示错误:::QTableWidget: cannot insert an item that is already owned by another QTableWidget
//添加数据
void TableWidget::addRow(QStringList &rowList)
{
if(rowList.isEmpty())
return;
globalStatus.insert(rowList.constFirst(),0);//记录新添加的数组名字和初始状态
grid_data_list.append(rowList);
//logBrowser::setLogText(QString::number(this->rowCount()));
for(int m_row=this->rowCount();m_rowinsertRow(m_row);
this->setItem(m_row,0,new QTableWidgetItem(relIcon(extName),grid_data_list.at(m_row).at(0)));
for(int m_column=1;m_columncolumnCount();++m_column)
{
if(m_columncolumnCount())
this->setItem(m_row,m_column,new QTableWidgetItem(grid_data_list.at(m_row).at(m_column)));
//logBrowser::setLogText(QString("%1:%2").arg(m_row).arg(m_column));
}
}
}这个是什么问题?
#1 [alvinlyb 11-27 21:38]
顶一下。有人帮忙解答一下么?
#2 [小韩老师 11-28 09:26]
感觉是你增加的逻辑有点问题吧,你增加了m行,原来可能表中已经n行了怎么办?你增加行的时候也处理了列?count是真的行数,取列值的时候是从0开始的,最取值是m-1
#3 回 小韩老师 的帖子 [alvinlyb 12-01 09:47]
小韩老师:感觉是你增加的逻辑有点问题吧,你增加了m行,原来可能表中已经n行了怎么办?你增加行的时候也处理了列?count是真的行数,取列值的时候是从0开始的,最取值是m-1 (2017-11-28 09:26)
是这样的啊。第在0行里添加了。所以才在第1行里开始填充的。