Qt, печать QDialog в формате PDF, проблемы с качеством
У меня есть некоторые проблемы с использованием QPdfWriter и QPainter для печати части QDialog.
Чтобы немного контекстуализировать, я работаю инженером в компании Telemetry/LiDAR, и для внутреннего использования я разработал графический интерфейс для простого сравнения / моделирования наших систем. У меня нет компьютерного образования, поэтому я разработал его только после того, как следовал некоторым учебникам по Qt и т. Д. (Мне вообще нравится кодировать, но я имею в виду, что я не настолько хорош)
В этом графическом интерфейсе я включил "обзор". На практике он суммирует все входы и выходы в QDialog. Этот QDialog содержит scrollArea, определенный в centralWidget. (экран прямо здесь: https://imgur.com/a/iiCGnaX)
Таким образом, мои исследования заставляют меня использовать этот вид кодирования, чтобы захватить область прокрутки и напечатать ее в PDF:
QString filePath=QFileDialog::getSaveFileName(this, "System summary",path,"PDF files (*.pdf)");
QPdfWriter pdfWriter(filePath);
pdfWriter.setResolution(100);
QPainter painter;
painter.begin(&pdfWriter);
painter.setRenderHint(QPainter::SmoothPixmapTransform);
QPixmap screenshotPDF = contenu->QWidget::grab();
painter.drawPixmap(0,0,screenshotPDF);
painter.end();
В случае, содержимое области экрана полностью сделано вручную (имеет размер бумаги формата А4, и я поставил QGroupBox без макета).
Дело в том, что результат не имеет хорошего качества. Я пытался играть на renderHint, на разрешении, но я не нахожу что-то очень хорошее. Экран здесь: https://imgur.com/a/Gh3LHPM. Как видите, он "размытый" и не аккуратный.
Я предполагаю, что я делаю что-то не так, но все, что я пытаюсь сделать, работает не очень хорошо (например, если я просто изменяю строку "setResolution" на N*100, я получаю что-то, что N слишком мало /High)
Это первый раз, когда я публикую здесь, я надеюсь, что мой вопрос уместен, также я хотел поблагодарить вас за этот форум, который очень помог мне, неофиту.
ИМРА"