我是Qt的新手,正在探索QPrinter / QPainter
根据文档,为了以mm为单位打印,考虑到分辨率,坐标必须转换为打印机的单位。所以,我写了下面的代码:
qreal printInterface::convertFromMM(qreal in)
{
//1 inch = 25.4 mmm so
return in * (1/25.4) * mQPrinter->resolution();
}
这适用于印刷线等。
现在我必须测量文本,所以根据文档,我使用了QFontMetrics()类。
问题是Painter->fontMetrics().width(stringToMeasure)
根据文档以像素为单位返回宽度。我怎样才能将其转换为mm?
任何帮助将不胜感激!
答案 0 :(得分:0)
刚发现我犯了一个错误。我可以对FontMetrics使用相同的规则。 但是,该文档具有误导性,因为它声明它使用像素作为单位。 它适应了画家。
我已经使用两行测试并在其中打印文本。它在打印预览和设备上都可以测量。
谢谢你的时间!