代码如下 ,记个笔记就不啰嗦了
QPrinter printer(QPrinter::HighResolution);
printer.setPrinterName(pim.getZPrinterName());
qDebug()<<"打印机DPI" <<printer.resolution();
打印结果如下,打印机是斑马ZD888,203DPI是正确的
![在这里插入图片描述](https://img-blog.csdnimg.cn/f679cdee9990415a91064abe25900b9a.png)
下面我们来计算字体实际打印尺寸,设置行高时特别方便,不用盲人摸象般的去尝试了
pim是个用来存储打印机信息的类,自己写的,看变量名应该就能知道意思了,此处就不赘述了
QFont font(pim.getZFont(), pim.getZFontSize().toInt());
painter.setFont(font);
painter.setPen(Qt::black);
QFontMetrics fontMetrice(font);
qDebug()<<"字体高度:"<<fontMetrice.height();
qDebug()<<"leading:"<<fontMetrice.leading();
qDebug()<<"lineSpace:"<<fontMetrice.lineSpacing();
painter.drawText(0, 0, printer.width()/2-5, printer.height(), Qt::AlignTop, "配料清单");
font=QFont(pim.getZFont(), pim.getZFontSize().toInt());
painter.setFont(font);
int contentLineHegiht=printer.resolution()*fontMetrice.height()/72;