QSelectionModel索引如何工作?

时间:2012-11-29 14:53:39

标签: qt pyqt pyqt4

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

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

更新:事实证明,我实际上并不需要这些线路。我仍然想知道我得到的输出背后的原因。

0 个答案:

没有答案