QGraphicsItem не отображается как HiDPI
В приложении отображения Qt ( QGIS) холст карты является QGraphicsItem. Мы не используем OpenGL, каждый элемент отображается с помощью QPainter.
Наше приложение правильно отображается на HiDPI за исключением холста карты.
Посмотрите на пиксельную линию на карте:
Что я посмотрел:
- Qt doc о HiDPI. Уже делаю то, что спрашивают (info.plist на mac, используя подпись с плавающей точкой для методов живописи)
- отчет об ошибке в Qt, но, похоже, он связан с OpenGL и кешем элементов, который мы не используем.
С художником мы используем QPainter::Antialiasing
,
Здесь нелегко разместить код, но вот ссылка на источник для рендеринга строк, например.
Я пытался сделать минимальный пример воспроизведения, но я все еще терплю неудачу здесь.
Подсказка заключается в том, что всякий раз, когда указатель мыши находится над холстом карты, его размер удваивается (он слишком велик). Я бы сказал, что примерно в 2 раза больше, что является соотношением пикселей моего устройства.
Я не уверен, что это проблема только для Mac (кажется, что это происходит и в Linux, но не в Windows). В документации Qt о масштабируемости говорится, что Mac справляется с этим по- разному.
Я действительно не знаю, что искать, и я надеюсь на некоторые подсказки.