我有一些存储在std :: map中的数据,需要在QTableView中显示。 所以我从QAbstractItemModel获得了我的模型类,但是我遇到了一个问题:
“data”方法为我提供了一个QModelIndex,它包含数据条目的预期行号。但由于我使用的是地图而不是矢量,因此无法使用row参数随机访问它。 所以我的想法是覆盖“index”方法,该方法生成QModelIndex对象并包含每个对象的相应哈希键。 但这并没有使它变得更容易,因为我需要再次通过行号获取哈希键。 当然我可以遍历从begin()到end()的整个地图来找到第n行/元素,但这样效率会非常低。
您是否有任何建议如何在QTableView中显示std :: map?
struct Data {
...
};
std::map<int, Data> dataMapping;
QModelIndex index ( int row, int column, const QModelIndex & parent );
QVariant data ( const QModelIndex & index, int role );