#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:
Я сделал нисходящую версию для более низкой версии и сейчас работает.