如何在Qt中获取选定的listitem索引

如何在Qt中获取选定的listitem索引,qt,listview,qt4,symbian,nokia,Qt,Listview,Qt4,Symbian,Nokia,我有一个QListView,其中包含一些项目。现在我想得到所选项目的索引,也就是说,如果我选择第5个元素,我应该得到5。我如何才能做到这一点?没有简单的方法可以做到这一点,因为QListView可以处理树状结构。 您可以使列表项从QListViewItem派生,并添加一个额外的数据成员来保存索引。 当然,排序时必须重置索引。在Qt中的每个视图中,都有以下方法: QItemSelectionModel*QAbstractItemView::selectionModel()常量 基本上,它返回一个模

我有一个
QListView
,其中包含一些项目。现在我想得到所选项目的索引,也就是说,如果我选择第5个元素,我应该得到5。我如何才能做到这一点?

没有简单的方法可以做到这一点,因为QListView可以处理树状结构。 您可以使列表项从QListViewItem派生,并添加一个额外的数据成员来保存索引。
当然,排序时必须重置索引。

在Qt中的每个视图中,都有以下方法:

QItemSelectionModel*QAbstractItemView::selectionModel()常量

基本上,它返回一个模型,您可以在该模型上执行操作,例如获取选定的索引

请看这里:

你会找到很多方法来帮助你获取索引


希望有帮助

Andy我知道了,但是我找到了selectedIndex(),但是selectedIndex会给出列表,我们需要迭代来获取modelindex。但是我想要一个API,它可以一次性提供所选项目的modelindex。。迭代列表非常耗时,对吧。。有没有直接的方法,或者我们只需要这样做呢?是的,您有currentIndex(),它将在您的选择中为您提供当前索引。。。我不知道你是否知道所选项目和当前索引之间的区别。。。当前索引是您选择的最后一个索引。。。所以我认为这将是你们所寻找的…在当前索引和所选索引之间可能有很大的区别。当前的是列表中有焦点的,可以选择,也可以不选择。在我的公司,我们制作了一个快速包装函数来获取选择模型,获取选择列表,如果列表不是空的,则返回列表中的第一项。这适用于设置为不允许多个选择的列表,您只需编写一次函数。链接似乎不可用(至少目前是这样)。因此,对于所有面临相同问题的人:我得到了当前所选项目的索引,如下所示:
listWidget->selectionModel()->currentIndex().row()