我正在尝试使用Qt 5.12.2在Linux上进行打印,但是结果超出页面限制。
QPrinter printer;
QPrintDialog *printDialog = new QPrintDialog(&printer, this);
printer.setOutputFormat(QPrinter::PdfFormat);
if (printDialog->exec() != QDialog::Accepted)
return;
QRectF rec = printer.pageRect(QPrinter::DevicePixel);
QTextDocument doc;
QRectF recHeader(rec.left(), rec.top(), rec.width(), 20);
QPainter painter(&printer);
painter.translate(recHeader.left(), recHeader.top());
painter.drawRect(recHeader);
painter.drawText(recHeader, Qt::AlignLeft, "some text");
painter.drawText(recHeader, Qt::AlignRight, "01/01/2019");
将top参数(rec.top())更改为200,可以正确打印,在Windows上可以正确打印而无需修改。
有什么想法吗?
使用Fedora 29,Gnome 3.30.2
答案 0 :(得分:0)
我做了一个下游版本,现在正在工作。