我有三个QPaintDevice
,一个Qlabel
,一个QImage
和一个QPrinter
。当我尝试绘制像矩形这样的非文本元素时,我在所有三个设备上都获得了相同的输出。但是,当我尝试通过QPainter.drawText
绘制文字时,QLabel
和QImage
上的结果相同且QPriner
输出不同。(QPrinter
输出为{{1文件)。实际上PDF
和Qlabel
中的文字大小大于输出QImage
文件中的文字大小。这是差异的原因吗?
答案 0 :(得分:0)
差异很可能是因为分辨率设置。见enum QPrinter::PrinterMode
此外,QPrintSupport类文档说明
注意:在QPrinter设备上渲染文本时,重要的是 意识到当用点指定时,文本的大小是 独立于为设备本身指定的分辨率。 因此,指定字体大小(以像素为单位)可能很有用 将文本与图形组合以确保它们的相对大小 你期待什么。