2

我有一个使用代理模型的列表视图和以下代码:

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 的工作原理。

更新:原来我实际上并不需要这些行来做我想做的事情。我仍然想知道我得到的输出背后的原因。

4

0 回答 0