Подтвердить что ты не робот

Как получить четкий пользовательский интерфейс на высоких dpi с Qt 5.6?

Я развиваюсь на мониторе 4k и его боль...

Наконец мне удалось настроить QtDesigner, а затем устранить эту проблему:

Когда вы используете QT_AUTO_SCREEN_SCALE_FACTOR=1 и компилируете приложение с помощью радиообмена и других основных виджетов, он выглядит масштабированным на экране 4k. В противном случае размеры элементов управления правильны и, как ожидалось, просто не острые, а пиксельные.

Я работаю на Windows 10 Home 64bit на экране 4k с увеличением на 200% DPI, используя Qt 5.6 RC msvc2015 64bit и попытался достичь тех же результатов, используя

QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

dcreenshot

Если я использую

QGuiApplication::setAttribute(Qt::AA_DisableHighDpiScaling);

элементы управления четкие, размер текста в порядке, но все размеры намного меньше.

Как сделать элементы управления четкими на высоком экране DPI?

4b9b3361

Ответ 1

С QT_AUTO_SCREEN_SCALE_FACTOR размер шрифта шрифтов не изменяется, они просто увеличены с их исходных пикселей, поэтому они никогда не будут плавными, только более ухабистыми.

Ссылка: http://doc.qt.io/qt-5.6/highdpi.html#high-dpi-support-in-qt "Это не изменит размер шрифтов с размерами точек"

Вместо этого вы должны использовать QT_SCALE_FACTOR, чтобы повторно масштабировать свое приложение, а не просто масштабировать его пиксели.