我有点在QStandardItemModel表中搜索项目时遇到麻烦。标准findItems()
函数仅搜索一列,而我需要使用2列在表中查找项。就像使用WHERE clause1 AND clause2
在Sql中搜索表一样。但我无法在Qt中完成这项工作。
到目前为止,这就是我所拥有的。
型号名称 - price_model
列 - 产品,ID,日期,价格,家庭,批次
我需要在特定系列中找到具有特定产品的行。但是QStandardItemModel只允许我搜索特定产品,并返回包含所有系列产品的行列表。 如何使用QStandardItemModel
搜索属于特定系列的产品这是有问题的代码。
QString product = getProduct( order_id );
QString family = getFamily( order_id );
QList< QStandardItem* > price_item = price_model->findItems(product, Qt::MatchFixedString, 0 );
if ( !price_item.empty() ) {
for ( QList< QStandardItem* >::const_iterator it = price_item.begin(); it != price_item.end(); ++ it ) {
const QStandardItem* index_item = price_model->item( ( *it )->row(), 4 );
if ( index_item->data().toString() == family ) {
return;
}
}
} else {
return;
}