Печать Qt в Linux имеет неправильные координаты

#c #linux #qt

#c #linux #qt

Вопрос:

Я пытаюсь печатать в Linux, используя Qt 5.12.2, но результат выходит за пределы страницы, поверх страницы.

 QPrinter printer;

QPrintDialog *printDialog = new QPrintDialog(amp;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(amp;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

Ответ №1:

Я сделал нисходящую версию для более низкой версии и сейчас работает.