QPainter рисует текст по-разному на разных QPaintDevices

У меня есть три QPaintDevice, Qlabel, QImage и QPrinter. Когда я пытаюсь нарисовать нетекстовые элементы, такие как прямоугольник, я получаю одинаковый результат на всех трех устройствах. Но когда я пытаюсь нарисовать текст через QPainter.drawText, результат для QLabel и QImage одинаков, а вывод QPriner отличается (вывод QPrinter - это файл PDF). на самом деле размер текста в Qlabel и QImage больше, чем размер текста в выходном файле PDF. В чем причина разницы?


person Hesam Qodsi    schedule 19.10.2013    source источник


Ответы (1)


Разница скорее всего из-за настроек разрешения. См. enum QPrinter::PrinterMode.

Кроме того, в документации по классу QPrintSupport указано

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

person Abhishek Bansal    schedule 19.10.2013
comment
Разница возникает из-за настроек разрешения. Разрешение экрана и устройства печати должно быть одинаковым. - person Hesam Qodsi; 20.10.2013