def printPreview(obj, printer=None, parent=None): if printer is None: printer = QtPrintSupport.QPrinter( QtPrintSupport.QPrinter.PrinterResolution) # @TODO: check if parent is None: try: parent = obj.window() except AttributeError: parent = None dialog = QtWidgets.QPrintPreviewDialog(printer, parent) dialog.paintRequested.connect(coreprint) ret = dialog.exec_() # @WARNING: duplicate code ret = QtPrintSupport.QPrintDialog(printer, parent).exec_() if ret == QtWidgets.QDialog.Accepted: if isinstance(obj, (QtGui.QTextDocument, QtWidgets.QTextEdit)): obj.print_(printer) elif hasattr(object, 'model'): model = obj.model() doc = modelToTextDocument(model) obj.print_(printer) elif isinstance(obj, QtCore.QAbstractItemModel): doc = modelToTextDocument(obj) doc.print_(printer) else: coreprint(obj, printer)
def print_figure(self): printer = QtPrintSupport.QPrinter(QtPrintSupport.QPrinter.HighResolution) printer.setOrientation(QtPrintSupport.QPrinter.Landscape) print_dlg = QtPrintSupport.QPrintDialog(printer) if print_dlg.exec_() == QtWidgets.QDialog.Accepted: painter = QtGui.QPainter(printer) page_size = printer.pageRect() pixmap = self.canvas.grab().scaled(page_size.width(), page_size.height(), QtCore.Qt.KeepAspectRatio) painter.drawPixmap(0, 0, pixmap) painter.end()
def PDF(self, name=None): printer = QtPrintSupport.QPrinter() printer.setOutputFormat(printer.NativeFormat) if name: printer.setOutputFileName(name) self.text.document().print_(printer) else: dialog = QtPrintSupport.QPrintDialog(printer) dialog.setOption(dialog.PrintToFile) if dialog.exec_() == QtWidgets.QDialog.Accepted: self.text.document().print_(dialog.printer())
def printObject(obj, printer=None, parent=None): if printer is None: printer = QtPrintSupport.QPrinter( QtPrintSupport.QPrinter.PrinterResolution) # printer.setOutputFile(os.path.join(utils.default_workdir(). # 'filename.pdf')) # @TODO: check if parent is None: try: parent = obj.window() except AttributeError: parent = None # dialog = QtPrintSupport.QPrintDialog(printer) # try: # window = obj.window() # except AttributeError: # window = = None # preview = QtWidgets.QPrintPreviewWidget(printer, window) # preview.paintRequested.connect(coreprint) # dialog.setOptionTabs([preview]) # ret = d.exec_() ret = QtPrintSupport.QPrintDialog(printer, parent).exec_() if ret == QtWidgets.QDialog.Accepted: if isinstance(obj, (QtGui.QTextDocument, QtWidgets.QTextEdit)): obj.print_(printer) elif hasattr(obj, 'model'): model = obj.model() doc = modelToTextDocument(model) doc.print_(printer) elif isinstance(obj, QtCore.QAbstractItemModel): doc = modelToTextDocument(obj) doc.print_(printer) else: coreprint(obj, printer)
def Print(self): dialog = QtPrintSupport.QPrintDialog() if dialog.exec_() == QtWidgets.QDialog.Accepted: self.text.document().print_(dialog.printer())