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

时间:2016-06-02 20:37:24

标签: c++ qt qwidget qlistwidgetitem

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

有什么想法吗?

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

2 个答案:

答案 0 :(得分:4)

您可以使用:

list->selectionModel()->selectedIndexes()

其中listQListWidget的实例 不确定它是否准确地返回了你想要的东西。

来自documentation

  

返回所有选定模型项索引的列表。该列表不包含重复项,也没有排序。

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

答案 1 :(得分:1)

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

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

其中ui->ipListQListWidget