gpt4 book ai didi

c++ - QTWidgets QTableWidget 因段错误而崩溃

转载 作者:行者123 更新时间:2023-11-30 03:28:09 26 4
gpt4 key购买 nike

我在 QPushButton 上有这个信号:

void MainWindow::on_addNode_clicked()
{
ui->nodesTable->insertRow(ui->nodesTable->rowCount());
if(ui->nodesTable->rowCount()>1)
{
ui->nodesTable->item(ui->nodesTable->rowCount()-1, 0)->setText(ui->nodesTable->item(ui->nodesTable->rowCount()-2,0)->text());
}
else
{
ui->nodesTable->item(ui->nodesTable->rowCount()-1, 0)->setText(QString::fromStdString("0"));
}
}

但每次单击按钮时它都会因段错误而崩溃。据我了解,item(...) 给出 nullptr 但为什么呢?

最佳答案

由于您没有指定行数和列数,您的 QTableWidget 以 0 行和 0 列开始,添加 1 行仍然会留下 0 列。

此外,您必须先通过 setItem 创建您的项目在你可以通过 item 访问它们之前

请看overview在文档中。

另外一点:
if (ui->nodesTable->rowCount() > 1)else 分支中rowCount() == 0 因此您访问了超出范围的 ui->nodesTable->item(-1, 0)

关于c++ - QTWidgets QTableWidget 因段错误而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46836938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com