getAllModelandItem(QStandardItemModel* model, int ID)
{
int rows = model->rowCount();//1
int column = model->columnCount();//1
for (int i = 0; i<rows; ++i)
{
for (int j = 0; j<column; ++j)
{
QStandardItem* item = model->item(i, j);//1 1
if (item)
{
QVariant x1 = item->data();
if (x1.toInt() == ID)
{
nonMobileIndex = item->index();
treeView->setCurrentIndex(nonMobileIndex);
break;
}
getAllItem(item, ID);
}
}
}
}
getAllItem(QStandardItem* item,int ID)
{
for (int i = 0; i<rows; ++i)
{
QStandardItem* childItem = item->child(i, 0);
if (childItem)
{
QVariant x1 = childItem->data();
int az = x1.toInt();
QString name1 = childItem->text();
qDebug() << az << name1 << endl;
if (x1.toInt() == ID)
{
nonMobileIndex = childItem->index();
treeView->setCurrentIndex(nonMobileIndex);
qDebug() << "ztttttt" << name1 << endl;
}
ergodicItem(childItem, ID);
}
}
}
{
int rows = model->rowCount();//1
int column = model->columnCount();//1
for (int i = 0; i<rows; ++i)
{
for (int j = 0; j<column; ++j)
{
QStandardItem* item = model->item(i, j);//1 1
if (item)
{
QVariant x1 = item->data();
if (x1.toInt() == ID)
{
nonMobileIndex = item->index();
treeView->setCurrentIndex(nonMobileIndex);
break;
}
getAllItem(item, ID);
}
}
}
}
getAllItem(QStandardItem* item,int ID)
{
for (int i = 0; i<rows; ++i)
{
QStandardItem* childItem = item->child(i, 0);
if (childItem)
{
QVariant x1 = childItem->data();
int az = x1.toInt();
QString name1 = childItem->text();
qDebug() << az << name1 << endl;
if (x1.toInt() == ID)
{
nonMobileIndex = childItem->index();
treeView->setCurrentIndex(nonMobileIndex);
qDebug() << "ztttttt" << name1 << endl;
}
ergodicItem(childItem, ID);
}
}
}
本文介绍了一个用于遍历QStandardItemModel的递归函数,目的是查找具有指定整数ID的项。通过使用Qt的QStandardItemModel和相关API,该函数能够深入模型的每个层级并返回找到的第一个匹配项的位置。
309

被折叠的 条评论
为什么被折叠?



