Непонятки с размером экрана
От: sz36 Россия  
Дата: 10.05.20 16:52
Оценка:
Hi, All!

Накропал тут небольшое приложение для мобильных устройств, и вижу странное.
Вызов QGuiApplication::primaryScreen()->availableSize() на платформе Андроид возвращает адекватные цифры — реальный размер экрана за вычетом полоски статус бара.

А на iPhone 7 Plus, у которого экран 1920х1080, возвращается:
ScreenSize 320 568
VirtualSize 320 568
PixelRatio 3.000000

Что никак не бьется с реальными размерами. И даже PhysicalSize возвращается 60.807980 107.934165, что не соответствует реальности (у Андроида с размерами все точно, штангенциркулем проверял).

Что это? И как получить реальные размеры экрана в пикселях? И второй вопрос — как правильно рисовать QIcon на дисплее с ретиной? Сейчас я рисую так:
  QPixmap pix = Icon.pixmap(QSize(...), ...);
  Painter.drawPixmap(... , pix);

При этом получается, что один пиксел иконки рисуется как 3х3 на экране, хотя у меня есть иконка и с большм разрешением; но если брать ее, то она рисуется также с умножением на 3 и получается огромной. Можно ли эту ретину как-нибудь отключить нафиг, мне без нее было бы проще.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.