QT C++を使用してQStringを含むセルのインデックス(つまり行番号と列番号)を調べるには、どうすればよいでしょうか?値を含むセルのインデックスを検索し、QTableViewでこれらのセルをすべてハイライト表示
(P.S.:Withoutがqtableviewでセルをクリック)
QT C++を使用してQStringを含むセルのインデックス(つまり行番号と列番号)を調べるには、どうすればよいでしょうか?値を含むセルのインデックスを検索し、QTableViewでこれらのセルをすべてハイライト表示
(P.S.:Withoutがqtableviewでセルをクリック)
あなたのセルを見つけるために、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
私の答えを更新します。 (QStartardItemModel *)modelIndex.model())> item(modelIndex.row()、index) - > setData(QBrush(Qt :: green)、Qt :: BackgroundRole); ' – aghilpro