【发布时间】:2014-03-31 06:28:21
【问题描述】:
我有具有特定行和列的表格小部件,
我的功能如下
从第一列和第二列获取值
比较它们并在第三列返回结果
例如:第一列:1 2 3 第二列 2 2 3 结果列 否 是 是
我通过使用 qDebug 确保我的代码可以正常工作,但是当我编译并运行它时,主窗口停止并崩溃。
我使用 for 循环抛出所有行 for(int row=0;rowtableWidget->rowCount();row++)
我认为这一行 rowtableWidget->rowCount() 因为当它读取空单元格时,应用程序会冻结并停止工作。
我怎样才能避免这种情况发生
void MainWindow::GenerateRes() {
QString Result;
for(int row = 0; row < ui->tableWidget->rowCount(); row++) {
QString R1 = ui->tableWidget->item(row, 0)->text();
QString R2 = ui->tableWidget->item(row, 1)->text();
if(R1 == R2) {
Result = "P" ;
} else {
Result = "F" ;
}
QTableWidgetItem *Item = new QTableWidgetItem(Result);
ui->tableWidget->setItem(row, 2, Item);
qDebug() << Item;
}
}
【问题讨论】:
-
第五行的ui->tableWidget->rowCount()是什么?
-
可能是我误加了这一行。
标签: qt qtablewidget qtablewidgetitem