【发布时间】:2019-03-26 18:14:19
【问题描述】:
我正在尝试使用 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");
将顶部参数 (rec.top()) 更改为 200,打印正确,在 Windows 上正确打印,无需修改。
有什么想法吗?
使用 Fedora 29、Gnome 3.30.2
【问题讨论】: