私はQStandardItemModel
単一の列を持つ(リストを表す)を持っています。リスト内の各項目には、QStandardItem
のデータとして格納された一意の整数 ID があります (これを介して、デフォルトQStandardItem::setData
で入っていると思いQt::UserRole+1
ます)。
これらの ID の 1 つを指定して、モデルから対応する行を見つけて削除したいと思います。今、私はこれをやっています:
void NetworkManager::removeSessionFromModel (QStandardItemModel *model, int sessionId) {
foreach (const QStandardItem *item, model->findItems("*", Qt::MatchWildcard)) {
if (item->data() == sessionId) {
model->removeRow(item->index().row());
break;
}
}
}
それは正常に動作しますが、その関数のすべての行が私をうんざりさせます。これを行うためのよりクリーンな方法はありますか?