如何获得 QListWidget::selectedItems() 的索引?

How can I get the indices of QListWidget::selectedItems()?

我有 QListWidget,我需要获取所选项目的索引。 (我可以按值处理列表中的项目,但我有 std::vector 包含列表中每个项目的一些对象,我还需要从中删除它们。) 有一个功能 indexFromItem 但它受保护(?)所以我不能使用它。

有什么想法吗?

QList<QListWidgetItem *> itemList = lw1->selectedItems();

你可以使用也许:

list->selectionModel()->selectedIndexes()

其中 listQListWidget 的实例。
不确定 returns 是否正是您要查找的内容。

来自documentation

Returns a list of all selected model item indexes. The list contains no duplicates, and is not sorted.

QListWidget 也有一个名为 selectedIndexes 的方法,但它是一个受保护的方法,所以你必须使用这种棘手的方法来获取它们。

我不确定这是正确的方法,但它对我有用:

void ScannerWindow::on_ipList_itemDoubleClicked(QListWidgetItem *item)
{
    qDebug() << ui->ipList->row(item);
}

其中 ui->ipListQListWidget