我正在尝试使用 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
最佳答案
我做了一个低版本的下游,现在正在工作。
关于c++ - Qt在linux上打印坐标错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55363781/