c++ - Qt在linux上打印坐标错误

标签 c++ linux qt

我正在尝试使用 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/

相关文章:

c++ - 私有(private)析构函数

c++ - 奇数处"lvalue required as left operand of assignment"--C++

c++ - 类构造函数中指向 QProcess 对象的指针使 qt GUI 崩溃

c++ - 如何在没有 Qt 项目的情况下在 Visual Studio 中使用 Qt 资源文件?

c++ - 如何通过 paintEvent 在 subview 中绘制图像

c++ - C++中如何将多个变量初始化为同一个值?

python-3.x - 在 apache Airflow 中初始化数据库时出错,下面是附加的错误,谢谢

php - Upstart 的 Yii 控制台给我错误

sql - 如何统计文件被修改为特定日期时间格式的时间

c++ - 将静态库链接到 DLL