我有一个使用代理模型和此代码的列表视图:
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是否与代理模型的QModelIndex不同?我已经成功地使用了这些代码行而没有实际检查它们返回的内容,但现在我正在尝试做一些稍微不同的事情并发现这种奇怪之处。
注意:我不是在寻求代码帮助,我只是想更好地理解QSelectionModel的工作原理。
更新:事实证明,我实际上并不需要这些线路。我仍然想知道我得到的输出背后的原因。