Как получить четкий пользовательский интерфейс на высоких 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?
Ответы
Ответ 1
С QT_AUTO_SCREEN_SCALE_FACTOR размер шрифта шрифтов не изменяется, они просто увеличены с их исходных пикселей, поэтому они никогда не будут плавными, только более ухабистыми.
Ссылка: http://doc.qt.io/qt-5.6/highdpi.html#high-dpi-support-in-qt
"Это не изменит размер шрифтов с размерами точек"
Вместо этого вы должны использовать QT_SCALE_FACTOR, чтобы повторно масштабировать свое приложение, а не просто масштабировать его пиксели.