如何使用QT C++在QTableView中找出包含QString的單元格的索引(即行號和列號)?查找包含值的單元格的索引並突出顯示QTableView中的所有單元格
(在QTableView中的細胞P.S.:Without點擊)
如何使用QT C++在QTableView中找出包含QString的單元格的索引(即行號和列號)?查找包含值的單元格的索引並突出顯示QTableView中的所有單元格
(在QTableView中的細胞P.S.:Without點擊)
可以使用findItems()
功能找到你的。
findItems()
函數返回給定列中使用給定標誌匹配給定文本的項目列表。
for (int index = 0; index < model->columnCount(); index++)
{
QList<QStandardItem*> foundLst = model->findItems("YourText", Qt::MatchExactly, index);
}
如果你想找到的項目指標,並強調它使用此代碼:
for (int index = 0; index < model->columnCount(); index++)
{
QList<QStandardItem*> foundLst = model->findItems("YourText", Qt::MatchExactly, index);
int count = foundLst.count();
if(count>0)
{
for(int k=0; k<count; k++)
{
QModelIndex modelIndex = model->indexFromItem(foundLst[k]);
qDebug()<< "column= " << index << "row=" << modelIndex.row();
((QStandardItemModel*)modelIndex.model())->item(modelIndex.row(),index)->setData(QBrush(Qt::green),Qt::BackgroundRole);
}
}
}
更多信息:
QTableView:本QTableView
類提供的默認模型/視圖實現一張桌子視圖。
QStandardItemModel:QStandardItemModel
類提供了一種用於存儲自定義數據的通用模型。
您的意思是搜索和查找表中的值? – aghilpro
搜索後我想要表 – annie
中的值的位置我更新我的答案。這行添加:'((QStandardItemModel *)modelIndex.model()) - > item(modelIndex.row(),index) - > setData(QBrush(Qt :: green),Qt :: BackgroundRole);' – aghilpro