Я хочу напечатать всю область прокрутки GUI. В настоящее время я печатаю только скриншот видимой части GUI. Кроме того, ни одна из настроек принтера, которые я настраиваю, не используется, вместо этого используются настройки принтера по умолчанию. Ниже приведен пример кода и GUI. Спасибо.
def printform(self):
dialog = QtPrintSupport.QPrintDialog()
if dialog.exec_() == QtWidgets.QDialog.Accepted:
# Create printer
printer = QtPrintSupport.QPrinter()
printer.setprintrange = printer.AllPages
printer.setPageSize = printer.Letter
printer.setOrientation = printer.Landscape
# Create painter
painter = QtGui.QPainter()
# Start painter
painter.begin(printer)
# Grab a widget you want to print, self.grab() for entire screen
screen = self.grab()
# Draw grabbed pixmap
painter.drawPixmap(10, 10, screen)
# End painting
painter.end()