我正在搞乱 Pyside6 中 QGraphicsView 实例的打印预览。我尝试了很多事情,但无法做到正确。
def onPreview(self):
printer = QtPrintSupport.QPrinter(QtPrintSupport.QPrinter.HighResolution)
layout = QtGui.QPageLayout()
layout.setOrientation(QtGui.QPageLayout.Landscape)
layout.setPageSize(QtGui.QPageSize.A3)
printer.setPageLayout(layout)
preview = QtPrintSupport.QPrintPreviewDialog(printer, self.parent)
preview.paintRequested.connect(self.handlePaintRequest)
preview.exec_()
# handle paint request
def handlePaintRequest(self, printer):
# render QGraphicsView
self.parent.view.render(QtGui.QPainter(printer))
该片段可以正常工作而不会引发错误,但预览中的页面方向始终是纵向的。打印时页面大小也不起作用。当然,我以错误的方式处理这个问题。