问题描述
我有一个QListView小部件,其中包含一组元素。每当此QListView更新(并在GUI中显示)时,我都试图自动选择最后一个元素。
我想做的是这样的:
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)