自动从 QListView 中选择元素

Automatically selecting element from QListView

我有一个包含一组元素的 QListView 小部件。每次更新此 QListView(并在 GUI 中显示它)时,我都试图自动 select 最后一个元素。

我想做的是这样的:

list_view_1  = QtWidgets.QListView()
element_list = QStandardItemModel(list_view_1)

element_list.appendRow(QStandardItem(element))
list_view_1.setModel(element_list)

list_view_1.setCurrentIndex(len(element_list))

最后一条命令似乎不起作用。我试着四处寻找以前的帖子,但找不到适合我的帖子。

要获取模型中最后一个元素的索引,您可以使用类似

的方法
index = element_list.index(element_list.rowCount()-1, 0)
list_view_1.setCurrentIndex(index)

但是由于您刚刚创建并添加了项目,您还可以执行类似

的操作
item = QStandardItem(element)
element_list.appendRow(item)
list_view_1.setModel(element_list)

index = element_list.indexFromItem(item)
list_view_1.setCurrentIndex(index)