C++ 尝试使用Qt生成筛选器时出现的问题
我试图让我的软件过滤元素列表。 我想我需要将数据放入TableWidget中,因为我必须显示其他信息 我还将3行编辑分别放在每个类别中进行搜索(称为leName、leSource、leDestination) 因此,我尝试为name属性实现过滤器,目前我有: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++)
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一起使用。好的,我正在研究这个=)谢谢