我有一个使用代理模型的列表视图和以下代码:
lastCurrRow = self.listView.selectionModel().currentIndex().row() #last row currently selected
last = self.proxyModel.rowCount() - 1 #last row in view
print("lastCurrRow = %d\nlast = %d" %(lastCurrRow, last))
当列表视图中的最后一项被选中时,我得到如下输出
lastCurrRow = 100
last = 100
但是如果我选择任何其他行,比如倒数第二行,我会得到类似的输出
lastCurrRow = 96
last = 100
我应该在某处寻找我的代码中的错误还是这正常?QSelectionModel 中的 QModelIndexes 是否与代理模型中的 QModelIndexes 本质上不同?我已经成功地使用了这些代码行而没有实际检查它们返回的内容,但是现在我尝试做一些稍微不同的事情并发现了这种奇怪之处。
注意:我不是在寻求代码方面的帮助,我只是想更好地了解 QSelectionModel 的工作原理。
更新:原来我实际上并不需要这些行来做我想做的事情。我仍然想知道我得到的输出背后的原因。