QPainter在不同的QPaint设备上绘制的文本不同



我有三个QPaintDevice,一个Qlabel,一个QImage和一个QPrinter。当我尝试绘制像矩形这样的非文本元素时,我在所有三个设备上都得到了相同的输出。但是当我尝试通过QPainter.drawText绘制文本时,QLabelQImage的结果是相同的QPriner输出是不同的。(QPrinter输出是一个PDF文件)。实际上,QlabelQImage中的文本大小大于输出PDF文件中的文本大小。瓦特是差异的原因吗?

差异很可能是因为分辨率设置。参见枚举 QPrinter::P rinterMode

此外,QPrint支持类文档指出

注意:在 QPrinter 设备上呈现文本时,请务必 意识到文本的大小(以磅为单位指定时)为 与为设备本身指定的分辨率无关。 因此,在以下情况下以像素为单位指定字体大小可能会很有用 将文本与图形组合以确保其相对大小 您的期望。

最新更新