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

しかし、最後の2番目の行など、他の行を選択すると、次のような出力が得られます

lastCurrRow = 96
last = 100

コードのどこかでバグを探す必要がありますか、それともこれは正常ですか? QSelectionModel からの QModelIndexes は、本質的にプロキシ モデルのものとは異なりますか? 私はこれらのコード行を実際に返されたものをチェックせずにうまく使用していましたが、今は少し違うことをしようとしていて、この奇妙なことを発見しました.

注: 私は自分のコードについて助けを求めているわけではありません。QSelectionModel がどのように機能するかをよりよく理解したいだけです。

更新:私がやろうとしていたことには、実際にはこれらの行は必要ありませんでした。私が得た出力の背後にある理由を知りたいのですが。

4

0 に答える 0