Я просто пытаюсь нарисовать прямоугольник в PDF-файл, используя QPrinter + QPainter:
#include <QtWidgets>
#include <QPrinter>
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
QPrinter printer(QPrinter::HighResolution);
printer.setOutputFileName("/Users/jason/Desktop/example.pdf");
printer.setOutputFormat(QPrinter::PdfFormat);
QPainter painter;
painter.begin(&printer);
int width = painter.viewport().width();
int height = painter.viewport().height();
painter.setPen(Qt::black);
painter.drawRect(0.25*width, 0.25*height, 0.5*width, 0.5*height);
painter.end();
}
Используя MacOS 10.15.4 и Qt 5.15.2, это приводит к пустому / недействительному PDF-файлу. Тот же код без QPrinter.setOutputFormat
и QPrinter.setOutputFileName
правильно печатает прямоугольник на бумаге.
Как я могу использовать QPrinter / QPdfWriter + QPainter для рисования в файл PDF?