Я пытаюсь обновить наше приложение 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%, шрифты останутся того же размера.
Неважно, установил ли я AA_EnableHighDpiScaling или нет.
Я также пробовал функцию WinAPI SetProcessDPIAware
, которая помогает немного, но теперь, когда я перемещаю диалог на другой монитор (с масштабом 100%), шрифты размыты.
Диалог с SetProcessDPIAware () на мониторе с масштабом 200%:
А здесь перемещен на монитор 100% масштаба:
И это тот же диалог, созданный прямо на 100 % scale monitor:
Есть ли простой рабочий пример, как инициализировать и настроить приложение Qt для правильной работы с несколькими различными настройками DPI / масштабирования?
Спасибо