Шрифты не масштабируются в простом диалоговом приложении HighDPI Windows - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь обновить наше приложение Qt GUI (виджеты), чтобы оно было готово к HighDPI. Мы используем последнюю версию Qt 5.14.0.

Но у меня он все еще не работает даже после прочтения множества вопросов и комментариев о Qt DPI.

Это мое тестовое приложение :

int main(int argc, char** argv)
{
    QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);    
    QApplication  app(argc, argv);
    CDlgDialog dlg;
    return dlg.exec();
}

диалог содержит одну метку и одну кнопку (с настройками по умолчанию). К сожалению, даже если я изменю масштаб Windows на 150% или 200%, шрифты останутся того же размера.

enter image description here

Неважно, установил ли я AA_EnableHighDpiScaling или нет.

Я также пробовал функцию WinAPI SetProcessDPIAware, которая помогает немного, но теперь, когда я перемещаю диалог на другой монитор (с масштабом 100%), шрифты размыты.

Диалог с SetProcessDPIAware () на мониторе с масштабом 200%:

enter image description here

А здесь перемещен на монитор 100% масштаба:

enter image description here

И это тот же диалог, созданный прямо на 100 % scale monitor:

enter image description here

Есть ли простой рабочий пример, как инициализировать и настроить приложение Qt для правильной работы с несколькими различными настройками DPI / масштабирования?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...