【问题标题】:Qt Printing - QFontMetrics ClassQt 打印 - QFontMetrics 类
【发布时间】:2017-10-02 15:21:15
【问题描述】:

我是 Qt 新手,正在探索 QPrinter / QPainter

根据文档,为了以毫米为单位打印,坐标必须转换为打印机的单位,考虑到它的分辨率。于是,我写了如下代码:

qreal printInterface::convertFromMM(qreal in)
{
    //1 inch = 25.4 mmm so
    return in * (1/25.4) * mQPrinter->resolution();
}

这对于打印线条等效果很好。

现在我必须测量文本,所以根据文档我使用了 QFontMetrics() 类。

问题在于Painter->fontMetrics().width(stringToMeasure) 正在返回宽度,根据文档,以像素为单位。我怎样才能把它翻译成mm?

任何帮助将不胜感激!

【问题讨论】:

    标签: c++ qt qprinter qfontmetrics


    【解决方案1】:

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

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

    感谢您的宝贵时间!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 1970-01-01
      • 2016-08-04
      • 2017-10-02
      • 2015-04-10
      • 1970-01-01
      • 2018-01-10
      相关资源
      最近更新 更多