Qt Printing - QFontMetrics Class

时间:2017-10-02 15:21:16

标签: c++ qt qprinter qfontmetrics

我是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?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

刚发现我犯了一个错误。我可以对FontMetrics使用相同的规则。 但是,该文档具有误导性,因为它声明它使用像素作为单位。 它适应了画家。

我已经使用两行测试并在其中打印文本。它在打印预览和设备上都可以测量。

谢谢你的时间!