如何从QListView中的Qt中获取QString



我需要在QListView中获取所选项目名称作为QString。我尝试过谷歌,但我没有找到任何有用的东西。

这取决于

选择模式,假设你有ExtendedSelection这意味着你可以选择任意数量的项目(包括0)。

ui->listView->setSelectionMode(QAbstractItemView::ExtendedSelection);

应循环访问ui->listView->selectionModel()->selectedIndexes()以查找所选项目的索引,然后调用text()方法来获取项目文本:

QStringList list;
foreach(const QModelIndex &index, 
        ui->listView->selectionModel()->selectedIndexes())
    list.append(model->itemFromIndex(index)->text());
qDebug() << list.join(",");
如果

QAbstractItemView::ExtendedSelection被禁用(一次只能选择一个项目),这就是您可以在没有任何循环的情况下执行此操作的方法:

QModelIndex index = ui->listView->currentIndex();
QString itemText = index.data(Qt::DisplayRole).toString();

最新更新