0

std::map に保存されているある種のデータがあり、それを QTableView に表示する必要があります。だから私は QAbstractItemModel からモデルクラスを持っていますが、問題に直面しています:

「データ」メソッドは、データエントリの予想される行番号を含む QModelIndex を提供します。しかし、ベクターではなくマップを使用しているため、行パラメーターでランダムにアクセスすることはできません。したがって、私の考えは、QModelIndex オブジェクトを生成し、各オブジェクトの適切なハッシュ キーを含む「インデックス」メソッドを上書きすることでした。しかし、行番号でハッシュキーを再度取得する必要があるため、これで簡単になるわけではありません。もちろん、begin() から end() までのマップ全体を反復して n 番目の行/要素を見つけることもできますが、それは非常に非効率的です。

std::map を QTableView に適切に表示する方法について何かアドバイスはありますか?

struct Data {
    ...
};

std::map<int, Data> dataMapping;

QModelIndex index ( int row, int column, const QModelIndex & parent );
QVariant data ( const QModelIndex & index, int role );
4

0 に答える 0