自动从 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)
我有一个包含一组元素的 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)