我是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呢?
任何帮助都将不胜感激!
发布于 2017-10-03 00:21:58
只是发现我犯了一个错误。我可以对FontMetrics使用相同的规则。然而,该文档具有误导性,因为它声明它使用像素作为单位。它是根据画家的需要改编的。
我使用两行代码进行了测试,并在其中打印文本。它在打印预览和设备上都可以测量ok。
耽误您时间,实在对不起!
https://stackoverflow.com/questions/46528554
复制相似问题