私は自分のデータ抽象化スキームを使って自分自身をコーナーソートにコーディングしましたが、その結果、ビュー(QTableViewはほぼ排他的に)にeditorOpened(QModelIndex)およびeditorClosed(QmodelIndex)シグナルが必要になりました。
その理由は、私のデータクラスには自動動作があり、編集中にブロック/無効にして、後で再度有効にする必要があるためです。
最初はカスタムデリゲートでそれをやろうと思っていましたが、いくつかの理由で問題が発生しました。1つは、すべてのアイテムに同じ動作を提供するカスタムデリゲートを使用するのは少し過剰に思えるということです。つまり、次のようになります。ビュー自体によってすべてのアイテムに対して実行する必要があります。2番目の問題は、デリゲートが、const
デリゲート内のデータオブジェクトに内部ハンドルを設定できないように見えることです。
ビューメソッドを見ると、QAbstractItemView::editとQAbstractItemView::closeEditorが見つかりました。これらは、opened()およびclosed()シグナルを使用して再実装するのに最適な候補ですが、編集中の特定のアイテムへのインデックス/ハンドルが必要です。それらの方法の中からは得られないと思います...
この時点で、他に何ができるかわかりません。正しい方向へのヒントや指針をいただければ幸いです。読んでくれてありがとう