qq_43003342
qq_43003342
2018-11-09 01:56

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; itableWidget->rowCount(); i++)
{
for(j=0; jtableWidget->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;

}

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

相关推荐