C++ 基于某个字符串设置qtableview的当前索引

C++ 基于某个字符串设置qtableview的当前索引,c++,qt,qtableview,qlistwidget,qmodelindex,C++,Qt,Qtableview,Qlistwidget,Qmodelindex,我有一个带有QSqlqueryModel的QTableView 主要定义为: Word(TEXT) | Count(INTEGER) | Type(INTEGER 我想根据用户从另一个QListWidget中选择的项的文本来选择此表的一行 我尝试了setCurrentIndex,但它接受QModelIndex。我不知道如何搜索我的tableView的整个Word列,找到listWidget的字符串并将其提供给QModelIndex 请注意,我不能对这两个小部件使用相同的模型,因为它们的填充方式

我有一个带有QSqlqueryModel的QTableView

主要定义为:

Word(TEXT) | Count(INTEGER) | Type(INTEGER
我想根据用户从另一个QListWidget中选择的项的文本来选择此表的一行

我尝试了setCurrentIndex,但它接受QModelIndex。我不知道如何搜索我的tableView的整个Word列,找到listWidget的字符串并将其提供给QModelIndex

请注意,我不能对这两个小部件使用相同的模型,因为它们的填充方式完全不同

我用于迭代第一列,并使用setCurrentIndex更改当前选定项

现在很好用

connect(&listWidget, itemClicked, [&](QListWidgetItem * item){
    const QString& text= item->text();
    int size = tableView.model()->rowCount();
    for (int i = 0; i < size; i++){
        QModelIndex& cur=tableView.model()->index(i, 0);
        if (cur.data() == text){
            tableView.setCurrentIndex(cur);
            tableView.scrollTo(cur);
            break;
        }
    }
});
void (QListWidget::*itemClicked)(QListWidgetItem*) = &QListWidget::itemClicked;

connect(&listWidget, itemClicked, [&](QListWidgetItem * item){
    const QString& text= item->text();
    //How to search thorough the Word column and find text and select it?!
});
connect(&listWidget, itemClicked, [&](QListWidgetItem * item){
    const QString& text= item->text();
    int size = tableView.model()->rowCount();
    for (int i = 0; i < size; i++){
        QModelIndex& cur=tableView.model()->index(i, 0);
        if (cur.data() == text){
            tableView.setCurrentIndex(cur);
            tableView.scrollTo(cur);
            break;
        }
    }
});