Например, конструкцию QMap.keys().indexOf(key) можно заменить на:
QMap<Key, T> map;
std::distance(std::begin(map), map.find(key));
Так в разы быстрее.
Но это получение индекса по ключу, а вот наоборот ключа по индексу что то никак ничего подобного найти не могу.