Да, я Вас понимаю, мне самому нравится STL использовать. Но, как уже упоминали, Qt давно писался...
Лично я нахожу библиотечные типы Qt достаточно приятными, но это вкусовщина, да. На счет некоторых недостатков хочу дополнить:> QRegExp не поддерживает многострочные выражения
QRegExp это легаси, вместо него используйте QRegularExpression, который совместимый с Perl и поддерживает многострочные выражения.
А std::regex из стандартной библиотеки это вообще ошибка дизайна, жутко медленный и монструозный. В любой статье про ABI упоминается std::regex, потому что его нельзя починить без слома ABI. Например, вот на хабре была: https://habr.com/ru/post/490222/
> QThread не детачнуть
Если вы про detach() из std::thread, то Вы же можете просто создать его на куче. Мне этот подход больше нравится, таким образом четко видно время жизни потока.
> QtLinguist делает лишь однонаправленные переводы и через программку
Так это везде так, даже с .po файлами.
А если не нравится QtLinguist, то можно синхронизировать репозиторий со специальным сервисом вроде Crowdin (их много таких на самом деле), и он будет подгружать .ts файлы автоматически и пользователи смогут заходить на страничку проекта и прямо там переводить. Как бы веб-морда для .ts файлов, от сервиса прилетают PR в репозиторий. Удобно для простых пользователей которые просто хотят перевести программу. Работает не только для QtLinguist, обычно многие форматы на таких сервисах поддерживаются, те же .po.
> QJson с рекурсивным обходом вызывает кутерьму array-object-document
Потому что в JSON у вас есть три типа: значение, массив и словарь. И вы в рантайме не знаете какой там у элемента, поэтому явно конвертируется.
> кью-алгоритмы желтит с "используйте std"
Конечно, потому что это легаси. Qt5 же поддерживал работу еще с С++03. Просто не нужно использовать. В Qt6 удалили это все, насколько я знаю. И лично мне нравится что они API неспеша ломают.