Как то бредово, если честно, выглядит ваше утверждение, что может запороть корректность
Я решил считать все элементы группы, вызвал begingroup, в это время другой поток захочет считать значение, в результате qsettings допишет к названию ключа группу и не найдет значение.
PS по моему у вас архитектура тю тю.
Стандартное и красивое решение, мне нужен класс настроек к которому имеют доступ многие классы. Обращение к настройкам происходит через статические методы QSettings::getValue(key);
Решений вижу несколько:
1) создать Mutex и блокировать работу с настройками, во время тупой функции begingroup-endgroup. (не стоит свеч, еще и другие потоки тормозить из за всяких недодуманных функций)
2) использовать Allkeys(). (Пойду этим путем)
3) хранить список ключей в параметре настрек, чтобы не использовать childkeys
...
Заменить QSettings нормальным классом
хотелось бы childkeys(QString group)