У меня есть три QPaintDevice
, Qlabel
, QImage
и QPrinter
. Когда я пытаюсь нарисовать нетекстовые элементы, такие как прямоугольник, я получаю одинаковый результат на всех трех устройствах. Но когда я пытаюсь нарисовать текст через QPainter.drawText
, результат для QLabel
и QImage
одинаков, а вывод QPriner
отличается (вывод QPrinter
- это файл PDF
). на самом деле размер текста в Qlabel
и QImage
больше, чем размер текста в выходном файле PDF
. В чем причина разницы?
QPainter рисует текст по-разному на разных QPaintDevices
Ответы (1)
Разница скорее всего из-за настроек разрешения. См. enum QPrinter::PrinterMode.
Кроме того, в документации по классу QPrintSupport указано
Примечание. При отображении текста на устройстве QPrinter важно понимать, что размер текста, указанный в пунктах, не зависит от разрешения, указанного для самого устройства. Поэтому может быть полезно указать размер шрифта в пикселях при объединении текста с графикой, чтобы убедиться, что их относительные размеры соответствуют вашим ожиданиям.
person
Abhishek Bansal
schedule
19.10.2013
Разница возникает из-за настроек разрешения. Разрешение экрана и устройства печати должно быть одинаковым.
- person Hesam Qodsi; 20.10.2013