求助!!!tablewidget中数据改变程序为什么会卡死
我想实现的功能是lineedit中文本与tablewideget中文本进行比对,而且在表格中数据改变后要再进行一次比对。
编写上面没有显示错误,运行后改变tablewidget中数据后程序就会卡死,求大牛!!!是我槽函数用错了吗?
void MainWindow::on_tableWidget_itemChanged(QTableWidgetItem *item)
{
QString str1 = ui->lineEdit->text();
QString tabeDate[ui->tableWidget->rowCount()][ui->tableWidget->columnCount()];//将表格中数据存入数组
int i,j=0;
for(i=0; i<ui->tableWidget->rowCount(); i++)
{
for(j=0; j<ui->tableWidget->columnCount(); j++)
{
if(ui->tableWidget->item(i,j)!=NULL)//注意检查非空,否则会报错
{
tabeDate[i][j] = ui->tableWidget->item(i,j)->text();
}
}
}//遍历数组
for(i = 0; i < ui->tableWidget->rowCount(); i++)
{
while (tabeDate[i][0] != "")
{
if(tabeDate[i][0] == str1)
ui->tableWidget->setItem(i,1,new QTableWidgetItem("OK"));
else
ui->tableWidget->setItem(i,1,new QTableWidgetItem("NG"));
}
break;
}
}