И еще про переезд с Qt 5.4 на 5.12
Продолжение опупеи, добавление в этому и этому.
Начиная с Qt версии 5.6 там изменилась поддержка HiDPI-дисплеев, внутренний фактор масштабирования может быть дробным (а не 1/2 как для поддержки Mac Retina). Масштабирование может быть автоматическим (стандартно это выключено), но что хуже всего - оно управляется, в том числе, переменными окружения.
Дальше происходит интересное: пользователь (по рекомендации из интернета) или инсталлятор какой-то Qt-based софтины ставит одну из вышеописанных переменных в глобальное окружение и... все Qt-based приложения разъезжаются (если, к примеру, они такой подлости не ожидали). На моей рабочей станции таковыми оказались Qt Creator (ну, понятно), VLC, RenderDoc и Adobe Photodownloader (из комплекта бриджа).
Ежели значит не хочется разъезжаться, дарю вам кусок кода, который надо до создания QApplication выполнить:
qunsetenv("QT_AUTO_SCREEN_SCALE_FACTOR"); qunsetenv("QT_SCALE_FACTOR"); qunsetenv("QT_SCREEN_SCALE_FACTORS"); qunsetenv("QT_ENABLE_HIGHDPI_SCALING"); qunsetenv("QT_SCALE_FACTOR_ROUNDING_POLICY");Проблема, на самом деле, не ограничивается только HiDPI, Qt-программы могут/будут конфликтовать, если в глобальное окружение понаписали всякой другой гадости, типа путей к плагинам.