QGraphicsItem не отображается как HiDPI - PullRequest
0 голосов
/ 03 октября 2018

В приложении отображения Qt ( QGIS ) холст карты является QGraphicsItem.Мы не используем OpenGL, каждый элемент визуализируется с использованием QPainter.

Наше приложение правильно отображается на HiDPI, за исключением холста карты.

См. Пиксельную линию на карте:

enter image description here

То, что я посмотрел:

  • Qt документ о HiDPI .Уже делаю то, что спрашивают (info.plist на Mac, использует подпись с плавающей точкой для методов рисования)
  • a отчет об ошибке на Qt, но похоже, что он связан с OpenGL и кешем элементов, который мы не используемне используем.

Вместе с художником мы используем QPainter::Antialiasing.

Опубликовать код здесь непросто, но вот ссылка на источникдля рендеринга линий , например.

Я пытался сделать минимальный пример воспроизведения, но у меня все еще не получается здесь.

Намек, что всякий раз, когда мышь находится над картойcanvas, размер курсора удвоился (он слишком большой).Я бы сказал, что примерно в 2 раза больше, что является моим соотношением пикселей устройства .

Я не уверен, что это проблема только для Mac (кажется, что это происходит и в Linux, но не в Windows),Qt docs о масштабируемости гласит, что Mac обрабатывает это по-разному .

Я действительно не знаю, что искать, и я надеюсь на некоторые подсказки.

...