problem with render widget to PDF
Hello! I want to render a widget to a .pdf file, but I ran into a problem.
Code:
x = (printerResolution / 2.54) * (tableWidth * 2.54) / self.DPI # widget width
y = (printerResolution / 2.54) * (tableHeight * 2.54) / self.DPI # widget height
printer.
setOutputFormat(QtPrintSupport.
QPrinter.
PdfFormat) printer.
setOrientation(QtPrintSupport.
QPrinter.
Landscape) printer.setOutputFileName(f"example.pdf")
printer.
setPageMargins(0,
0,
0,
0, QtPrintSupport.
QPrinter.
Millimeter) printer.setFullPage(True)
printer.
setPageSize(QtPrintSupport.
QPrinter.
A4)
painter.begin(printer)
rect = painter.viewport()
painter.setViewport(rect.x(), rect.y(), tableWidth, tableHeight)
painter.setWindow(rect.x(), rect.y(), tableWidth, tableHeight)
xscale = (printer.pageRect().width() / x) * 0.5 # when instead of 0.5 I insert a higher ratio (> 0.5) I get an empty .pdf file
yscale = (printer.pageRect().height() / y) * 0.5 # same
print("PAGERECT$", printer.pageRect())
scale = min(xscale, yscale)
painter.translate(printer.pageRect().topLeft())
painter.scale(scale, scale)
self.table.render(painter)
painter.end()
Why is the .pdf file drawn only when the coefficient is not more than 5? :(