C++ 尝试使用Qt生成筛选器时出现的问题

C++ 尝试使用Qt生成筛选器时出现的问题,c++,qt,C++,Qt,我试图让我的软件过滤元素列表。 我想我需要将数据放入TableWidget中,因为我必须显示其他信息 我还将3行编辑分别放在每个类别中进行搜索(称为leName、leSource、leDestination) 因此,我尝试为name属性实现过滤器,目前我有: void MyClass::on_leName_textEdited(const QString &arg1) { for (int i=0;ui->tableWidget->rowCount()-1;i++)

我试图让我的软件过滤元素列表。 我想我需要将数据放入TableWidget中,因为我必须显示其他信息

我还将3行编辑分别放在每个类别中进行搜索(称为leName、leSource、leDestination)

因此,我尝试为name属性实现过滤器,目前我有:

void MyClass::on_leName_textEdited(const QString &arg1)
{
   for (int i=0;ui->tableWidget->rowCount()-1;i++)
   {
       qDebug()<<"before if";
       if(ui->tableWidget->item(0,1)->text().contains(arg1) //tried with &arg1, I have the same issue, for now
       {
            qDebug()<<"If validated";
            ui->tableWidget->showRow(i);
       }else{
            qDebug()<<"If not validated"
            ui->tableWidget->hideRow(i)
       }
   }
}
void MyClass::on_leName_textEdit(const QString&arg1)
{
对于(inti=0;ui->tableWidget->rowCount()-1;i++)
{
qDebug()项(0,1)->text().contains(arg1)//尝试使用&arg1,目前我也遇到同样的问题
{
qDebug()showRow(i);
}否则{
qDebug()hideRow(i)
}
}
}
当我按了一个键,我的软崩溃 我从qDebug获得“如果之前”、“如果(未)验证”、“如果之前”

我用Debbuger启动,得到了分段错误作为错误 不确定我可以添加什么作为我的错误的详细信息

也许我什么都没做,我不是Qt和c方面的专家++


如果您知道我应该如何更正此问题,我将不胜感激=)

单元格存在并不意味着它具有关联的QTableWidgetItem,因此您必须验证它是否为null

QTableWidgetItem * item = ui->tableWidget->item(0, 1);
if(item && item->text().contains(arg1))
{
    qDebug() << "If validated";
    ui->tableWidget->showRow(i);
}else{
    qDebug() << "If not validated"
    ui->tableWidget->hideRow(i)
}
QTableWidgetItem*item=ui->tableWidget->item(0,1);
if(item&&item->text().contains(arg1))
{
qDebug()tableWidget->showRow(i);
}否则{
qDebug()tableWidget->hideRow(i)
}

为您的数据创建一个模型,并将QSortFilterProxyModel与QTableView一起使用。好的,我正在研究这个=)谢谢