У меня проблема с пониманием ценностей, которые я получаю QFontMetrics
// 43 characters 0123456789012345678901234567890123456789012
static const QString s("The quick brown fox jumps over the lazy dog");
// Hint: basically returns w->fontMetrics(); with w being my main application window
const QFontMetrics fm = CGuiUtility::currentFontMetrics();
const int w = fm.width(s);
const int h = fm.height();
return QSize(w, h);
Со следующими разрешениями экрана я получаю:
qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1")
Насколько я понимаю, я получаю ширину / высоту пикселя. Интересно, почему я получаю гораздо меньшую высоту с разрешением найма (см. 2). Я предпочел бы ожидать это наоборот — используя больше пикселей.
Я могу видеть, что есть (почти) фактор 2 между 1 и 3, что имеет смысл. Но затем (с использованием 3, без поддержки DPI) пользовательский интерфейс не читается (слишком маленький из-за экрана высокого разрешения). Так как же вписывается 2, что дает странные результаты.
Кто-нибудь может дать подсказку о толковании этих ценностей?
Примечание: связано с Поддержка таблиц стилей / Qt Designer для экранов с высоким разрешением? Я пытаюсь найти разумную ширину / высоту для моего окна пользовательского интерфейса на разных разрешениях / платформах
Хорошие комментарии, я вижу. С hi-dpi Qt масштабируется 1: 3 с использованием «виртуального экрана» 1280/780. Интересно, могу ли я отрегулировать это соотношение пикселей вручную. В моем самом случае это происходит путем установки qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1")
, Есть ли шанс установить его на 2: 1?
Судя по подсказкам AlexanderVX и SteackOverflow, теперь все ясно.
Поэтому я закрываю топ
Других решений пока нет …