def printpage(self, preview=False, count: {'special': 'count'}=None): """Print the current/[count]th tab. Args: preview: Show preview instead of printing. count: The tab index to print, or None. """ if not qtutils.check_print_compat(): # WORKAROUND (remove this when we bump the requirements to 5.3.0) raise cmdexc.CommandError( "Printing on Qt < 5.3.0 on Windows is broken, please upgrade!") tab = self._cntwidget(count) if tab is not None: if preview: diag = QPrintPreviewDialog() diag.setAttribute(Qt.WA_DeleteOnClose) diag.setWindowFlags(diag.windowFlags() | Qt.WindowMaximizeButtonHint | Qt.WindowMinimizeButtonHint) diag.paintRequested.connect(tab.print) diag.exec_() else: diag = QPrintDialog() diag.setAttribute(Qt.WA_DeleteOnClose) diag.open(lambda: tab.print(diag.printer()))
def printPreview(self): ui = self._ui printer = self._printer printer.setDocName(ui.webView.title() or '') dialog = QPrintPreviewDialog(printer, self) dialog.paintRequested.connect(ui.webView.print_) dialog.exec_()
def printPreviewBrowser(self, browser=None): """ Public slot called to show a print preview of the displayed file. @param browser reference to the browser to be printed (HelpBrowserWV) """ from PyQt5.QtPrintSupport import QPrintPreviewDialog if browser is None: browser = self.currentBrowser() printer = QPrinter(mode=QPrinter.HighResolution) if Preferences.getPrinter("ColorMode"): printer.setColorMode(QPrinter.Color) else: printer.setColorMode(QPrinter.GrayScale) if Preferences.getPrinter("FirstPageFirst"): printer.setPageOrder(QPrinter.FirstPageFirst) else: printer.setPageOrder(QPrinter.LastPageFirst) printer.setPageMargins( Preferences.getPrinter("LeftMargin") * 10, Preferences.getPrinter("TopMargin") * 10, Preferences.getPrinter("RightMargin") * 10, Preferences.getPrinter("BottomMargin") * 10, QPrinter.Millimeter ) printerName = Preferences.getPrinter("PrinterName") if printerName: printer.setPrinterName(printerName) self.__printPreviewBrowser = browser preview = QPrintPreviewDialog(printer, self) preview.paintRequested.connect(self.__printPreview) preview.exec_()
def standard_print_preview(self): if not self.edit_control: return printer = QPrinter(QPrinter.HighResolution) preview = QPrintPreviewDialog(printer, self) preview.paintRequested.connect(self.show_preview) preview.exec_()
def printPreview(self, obj, data): from PyQt5.QtPrintSupport import QPrinter, QPrintPreviewDialog from PyQt5.QtGui import QTextDocument, QTextCursor, QTextTableFormat, QTextFrameFormat #, QFont import time self.printer = QPrinter() self.printer.setPageSize(QPrinter.A4) self.printer.setOrientation(QPrinter.Landscape) self.printer.setFullPage(True) self.printer.setPageMargins(2, 2, 2, 2, QPrinter.Millimeter) #self.printer.setFont(QFont("times",22)) dialog = QPrintPreviewDialog(self.printer) #dialog.showFullScreen() document = QTextDocument() #document.setHtml("<html><head></head><body></body></html>") document.setHtml("") cursor = QTextCursor(document) # Titolo cursor.insertHtml("<h2 align=center>%s</h2>" % obj['title']) cursor.insertText("\n") # Data cursor.insertHtml("<h5 align=left>%s</h5>" % time.strftime("%d/%m/%Y")) cursor.insertText("\n") # Table tableFormat = QTextTableFormat() tableFormat.setCellPadding(2) tableFormat.setCellSpacing(3) #tableFormat.setBorderStyle(QTextFrameFormat.BorderStyle_Ridge) tableFormat.setBorder(0) cursor.insertTable(len(data) + 2, len(obj['col_name']), tableFormat) # Intestazioni for table_title in obj['col_name']: cursor.insertHtml('<font size="4" color="blue"><b>%s</b></font>' % table_title) cursor.movePosition(QTextCursor.NextCell) # Riga bianca for table_title in obj['col_name']: cursor.insertText(' ') cursor.movePosition(QTextCursor.NextCell) # Dati Tabella for r in data: for k in obj['col_order']: v = r[k] if v is not None: #cursor.insertText(str(v)) cursor.insertHtml('<font size="4">%s</font>' % v) cursor.movePosition(QTextCursor.NextCell) dialog.paintRequested.connect(document.print_) dialog.setFixedSize(1500, 1050) dialog.exec_()
def tablePt(self, sqlstr, tit_pt, subtit_pt, date_pt, colsize, ltop_pt, rbot_pt): #preview print self.sqlstr = sqlstr self.tit_pt = tit_pt #主标题 self.subtit_pt = subtit_pt #子标题 self.date_pt = date_pt #打印日期 self.colsize = colsize #每列宽 self.ltop_pt = ltop_pt #左.上点坐标,及左边界,上边界 self.rbot_pt = rbot_pt #右.下点坐标,及右边界,下边界 self.setdat(self.sqlstr) #取数据 #自定义表头,表格内文字 测试用 # self.tit_font_class=tit_font_class # self.tb_font_class=tb_font_class # ===============debug printer ============= # def tablePt(self): # # self.sqlstr="select id,单位名称,车主姓名,车牌照号,车辆类别,缴费金额 from work" # self.setdat(self.sqlstr) # self.tit_pt='左.上点坐标,及左边界,上边界' #主标题 # self.subtit_pt='子标题' #子标题 # self.date_pt='date_pt' #打印日期 # self.colsize=[5, 8, 6, 8, 6, 9] #每列宽 # self.ltop_pt=[3, 5,] #左.上点坐标,及左边界,上边界 # self.rbot_pt=[4, 3] #右.下点坐标,及右边界,下边界 printer = QPrinter(QPrinter.HighResolution) printer.setFontEmbeddingEnabled(True) preview = QPrintPreviewDialog(printer) preview.paintRequested.connect(self.paintpic) preview.resize(1024, 720) preview.exec_()
def _print(self): preview_dialog = QPrintPreviewDialog(self._printer, self) preview_dialog.setMinimumSize(cons.PRINT_PREVIEW_DIALOG_WIDTH, cons.PRINT_PREVIEW_DIALOG_HEIGHT) preview_dialog.paintRequested.connect(self._print_preview) preview_dialog.exec_()
def __printPreviewDiagram(self): """ Private slot called to show a print preview of the diagram. """ from PyQt5.QtPrintSupport import QPrintPreviewDialog printer = QPrinter(mode=QPrinter.ScreenResolution) printer.setFullPage(True) if Preferences.getPrinter("ColorMode"): printer.setColorMode(QPrinter.Color) else: printer.setColorMode(QPrinter.GrayScale) if Preferences.getPrinter("FirstPageFirst"): printer.setPageOrder(QPrinter.FirstPageFirst) else: printer.setPageOrder(QPrinter.LastPageFirst) printer.setPageMargins( Preferences.getPrinter("LeftMargin") * 10, Preferences.getPrinter("TopMargin") * 10, Preferences.getPrinter("RightMargin") * 10, Preferences.getPrinter("BottomMargin") * 10, QPrinter.Millimeter ) printer.setPrinterName(Preferences.getPrinter("PrinterName")) preview = QPrintPreviewDialog(printer, self) preview.paintRequested[QPrinter].connect(self.__print) preview.exec_()
def printpage(self, preview=False, count: {'special': 'count'} = None): """Print the current/[count]th tab. Args: preview: Show preview instead of printing. count: The tab index to print, or None. """ if not qtutils.check_print_compat(): # WORKAROUND (remove this when we bump the requirements to 5.3.0) raise cmdexc.CommandError( "Printing on Qt < 5.3.0 on Windows is broken, please upgrade!") tab = self._cntwidget(count) if tab is not None: if preview: diag = QPrintPreviewDialog() diag.setAttribute(Qt.WA_DeleteOnClose) diag.setWindowFlags(diag.windowFlags() | Qt.WindowMaximizeButtonHint | Qt.WindowMinimizeButtonHint) diag.paintRequested.connect(tab.print) diag.exec_() else: diag = QPrintDialog() diag.setAttribute(Qt.WA_DeleteOnClose) diag.open(lambda: tab.print(diag.printer()))
def __printPreviewDiagram(self): """ Private slot called to show a print preview of the diagram. """ from PyQt5.QtPrintSupport import QPrintPreviewDialog printer = QPrinter(mode=QPrinter.ScreenResolution) printer.setFullPage(True) if Preferences.getPrinter("ColorMode"): printer.setColorMode(QPrinter.Color) else: printer.setColorMode(QPrinter.GrayScale) if Preferences.getPrinter("FirstPageFirst"): printer.setPageOrder(QPrinter.FirstPageFirst) else: printer.setPageOrder(QPrinter.LastPageFirst) printer.setPageMargins( Preferences.getPrinter("LeftMargin") * 10, Preferences.getPrinter("TopMargin") * 10, Preferences.getPrinter("RightMargin") * 10, Preferences.getPrinter("BottomMargin") * 10, QPrinter.Millimeter) printer.setPrinterName(Preferences.getPrinter("PrinterName")) preview = QPrintPreviewDialog(printer, self) preview.paintRequested[QPrinter].connect(self.__print) preview.exec_()
def __printPreviewImage(self): """ Private slot to handle the Print Preview menu action. """ from PyQt5.QtPrintSupport import QPrintPreviewDialog if self.mainWidget is None: E5MessageBox.critical( self, self.tr("Print Preview"), self.tr("""There is no UI file loaded.""")) return settings = Preferences.Prefs.settings printer = QPrinter(QPrinter.HighResolution) printer.setFullPage(True) printerName = Preferences.getPrinter("UIPreviewer/printername") if printerName: printer.setPrinterName(printerName) printer.setPageSize( QPrinter.PageSize(int(settings.value("UIPreviewer/pagesize")))) printer.setPageOrder( QPrinter.PageOrder(int(settings.value("UIPreviewer/pageorder")))) printer.setOrientation(QPrinter.Orientation( int(settings.value("UIPreviewer/orientation")))) printer.setColorMode( QPrinter.ColorMode(int(settings.value("UIPreviewer/colormode")))) preview = QPrintPreviewDialog(printer, self) preview.paintRequested.connect(self.__print) preview.exec_()
def print_(self): printer = QPrinter(QPrinter.ScreenResolution) dlg = QPrintPreviewDialog(printer) view = PrintView() view.setModel(self.table.model()) dlg.paintRequested.connect(view.print_) dlg.exec_()
def __printPreviewImage(self): """ Private slot to handle the Print Preview menu action. """ from PyQt5.QtPrintSupport import QPrintPreviewDialog if self.mainWidget is None: E5MessageBox.critical(self, self.tr("Print Preview"), self.tr("""There is no UI file loaded.""")) return settings = Preferences.Prefs.settings printer = QPrinter(QPrinter.HighResolution) printer.setFullPage(True) printerName = Preferences.getPrinter("UIPreviewer/printername") if printerName: printer.setPrinterName(printerName) printer.setPageSize( QPrinter.PageSize(int(settings.value("UIPreviewer/pagesize")))) printer.setPageOrder( QPrinter.PageOrder(int(settings.value("UIPreviewer/pageorder")))) printer.setOrientation( QPrinter.Orientation(int( settings.value("UIPreviewer/orientation")))) printer.setColorMode( QPrinter.ColorMode(int(settings.value("UIPreviewer/colormode")))) preview = QPrintPreviewDialog(printer, self) preview.paintRequested.connect(self.__print) preview.exec_()
def printPreviewBrowser(self, browser=None): """ Public slot called to show a print preview of the displayed file. @param browser reference to the browser to be printed (HelpBrowserWV) """ from PyQt5.QtPrintSupport import QPrintPreviewDialog if browser is None: browser = self.currentBrowser() printer = QPrinter(mode=QPrinter.HighResolution) if Preferences.getPrinter("ColorMode"): printer.setColorMode(QPrinter.Color) else: printer.setColorMode(QPrinter.GrayScale) if Preferences.getPrinter("FirstPageFirst"): printer.setPageOrder(QPrinter.FirstPageFirst) else: printer.setPageOrder(QPrinter.LastPageFirst) printer.setPageMargins( Preferences.getPrinter("LeftMargin") * 10, Preferences.getPrinter("TopMargin") * 10, Preferences.getPrinter("RightMargin") * 10, Preferences.getPrinter("BottomMargin") * 10, QPrinter.Millimeter) printerName = Preferences.getPrinter("PrinterName") if printerName: printer.setPrinterName(printerName) self.__printPreviewBrowser = browser preview = QPrintPreviewDialog(printer, self) preview.paintRequested.connect(self.__printPreview) preview.exec_()
def _printDocument(self): """Open the print preview dialog. """ thePreview = QPrintPreviewDialog(self) thePreview.paintRequested.connect(self._doPrintPreview) thePreview.exec_() return
def print_(self): printer = QPrinter(QPrinter.ScreenResolution) dlg = QPrintPreviewDialog(printer) view = PrintView() view.setModel(self.table.model()) dlg.paintRequested.connect(view.print_) dlg.exec_()
def preview(self): # Превью печати dialog = QPrintPreviewDialog() self.NotePlace.setLineWrapMode(1) dialog.paintRequested.connect(self.NotePlace.print_) dialog.exec_() if not self.wrapp.isChecked(): self.NotePlace.setLineWrapMode(0)
def previsualisation(self): imprimeur = QPrinter(QPrinter.HighResolution) boite_de_dialogue_previsualisation = QPrintPreviewDialog( imprimeur, self) boite_de_dialogue_previsualisation.paintRequested.connect( self.previsualisation_2) boite_de_dialogue_previsualisation.exec_()
def printpreviewDialog(self): printer = QPrinter(QPrinter.HighResolution) printer.setFullPage(True) printer.setPageMargins(0, 0, 0, 0, QPrinter.Millimeter) previewDialog = QPrintPreviewDialog(printer, self) previewDialog.paintRequested.connect(self.printPreview) previewDialog.exec_()
def handlePreview(self): dialog = QPrintPreviewDialog() icon = QIcon() icon.addPixmap(QPixmap(":/QIcon/Backup/iconn.png"), QIcon.Normal, QIcon.Off) dialog.setWindowIcon(icon) dialog.setWindowTitle("پیش نمایش چاپ") dialog.paintRequested.connect(self.handlePaintRequest) dialog.setWindowFlags(Qt.WindowStaysOnTopHint) dialog.exec_()
def preview(self): # Open preview dialog preview = QPrintPreviewDialog() # If a print is requested, open print dialog preview.paintRequested.connect(lambda p: self.noteContentEdit.print_(p)) preview.exec_()
def handlePreview(self, printer): """ This function handles the printPreview Functionality of the csv file in the GUI app an opens print preview window :param printer: :return: """ dialog = QPrintPreviewDialog() dialog.paintRequested.connect(self.handlePaintRequest) dialog.exec_()
def handle_preview(self): dialog = QPrintPreviewDialog() dialog.setWindowIcon(QIcon('./images/logos/logo.jpg')) dialog.setWindowFlags(dialog.windowFlags() | Qt.WindowSystemMenuHint | Qt.WindowMinMaxButtonsHint) dialog.paintRequested.connect(self.handle_paint_request) dialog.resize(1470, 980) #dialog.setMinimumSize(1470, 980) dialog.exec_()
def printPreview(self): if self.page is None: return if self.m_inPrintPreview: return self.m_inPrintPreview = True printer = QPrinter() preview = QPrintPreviewDialog(printer, self.page.view()) preview.paintRequested.connect(self.printDocument) preview.exec_() self.m_inPrintPreview = False
def on_htmlButton_clicked(): printer = QPrinter(QPrinter.HighResolution) # /* 打印预览 */ preview = QPrintPreviewDialog(printer, widget) preview.paintRequested.connect(printHtml) # # 显示 预览框 # # preview.exec() preview.exec_()
def DoPrinter(mainWin,orderNo): try: printer =QPrinter(QPrinter.HighResolution) #/* 打印预览 */ preview =QPrintPreviewDialog(printer,mainWin) preview.paintRequested.connect(printHtml) global selectOrderNo selectOrderNo = orderNo preview.exec_() return True except: return False
def printpage(self, page=None): """ Prints current/requested page """ if not page: page = self.tabWidget.currentWidget().page().currentFrame() printer = QPrinter(mode=QPrinter.HighResolution) printer.setCreator("Quartz Browser") title = self.tabWidget.currentWidget().page().mainFrame().title() title = validateFileName(title) printer.setDocName(title) printer.setOutputFileName(docdir + title + ".pdf") print_dialog = QPrintPreviewDialog(printer, self) print_dialog.paintRequested.connect(page.print_) print_dialog.exec_()
def _print_preview(tab: apitypes.Tab) -> None: """Show a print preview.""" def print_callback(ok: bool) -> None: if not ok: message.error("Printing failed!") tab.printing.check_preview_support() diag = QPrintPreviewDialog(tab) diag.setAttribute(Qt.WA_DeleteOnClose) diag.setWindowFlags(diag.windowFlags() | Qt.WindowMaximizeButtonHint | Qt.WindowMinimizeButtonHint) diag.paintRequested.connect(functools.partial( tab.printing.to_printer, callback=print_callback)) diag.exec_()
def do_print(main_windows, order_no): try: printer = QPrinter(QPrinter.HighResolution) # /* 打印预览 */ preview = QPrintPreviewDialog(printer, main_windows) preview.paintRequested.connect(print_html) global selectOrderNo selectOrderNo = order_no preview.exec_() return True except Exception as e: print(e) return False
def on_picButton_clicked(): printer = QPrinter(QPrinter.HighResolution) # /* 打印预览 */ preview = QPrintPreviewDialog(printer, widget) """ * QPrintPreviewDialog类提供了一个打印预览对话框,里面功能比较全, * paintRequested(QPrinter *printer)是系统提供的, * 当preview.exec()执行时该信号被触发, * plotPic(QPrinter *printer)是用户自定义的槽函数,图像的绘制就在这个函数里。 """ preview.paintRequested.connect(plotPic) preview.exec_() # /* 等待预览界面退出 */
def _print_preview(tab: apitypes.Tab) -> None: """Show a print preview.""" def print_callback(ok: bool) -> None: if not ok: message.error("Printing failed!") tab.printing.check_preview_support() diag = QPrintPreviewDialog(tab) diag.setAttribute(Qt.WA_DeleteOnClose) diag.setWindowFlags(diag.windowFlags() | Qt.WindowMaximizeButtonHint | Qt.WindowMinimizeButtonHint) diag.paintRequested.connect( functools.partial(tab.printing.to_printer, callback=print_callback)) diag.exec_()
def callfastPrt(self): # prt =QPrinter(QPrinter.HighResolution) # prt.setFontEmbeddingEnabled(True) # dialog = QPrintDialog(prt, self) # if not dialog.exec_(): # return # #self.paintpic(printer) # self.fastPrt(prt,'冀B668HJ', '2018年12月1日', "冀B999HJ") #self.fastPrt('冀B668HJ', '2018年12月1日') # def fast_pt(self): # #pass prt = QPrinter(QPrinter.HighResolution) prt.setFontEmbeddingEnabled(True) prev = QPrintPreviewDialog(prt) prev.paintRequested.connect(self.fastPrt) prev.exec_()
def vistaPrevia(self): if not self.documento.isEmpty(): impresion = QPrinter(QPrinter.HighResolution) vista = QPrintPreviewDialog(impresion, self) vista.setWindowTitle("предварительный просмотр") vista.setWindowFlags(Qt.Window) vista.resize(800, 600) exportarPDF = vista.findChildren(QToolBar) exportarPDF[0].addAction(QIcon("exportarPDF.png"), "Экспорт в PDF", self.exportarPDF) vista.paintRequested.connect(self.vistaPreviaImpresion) vista.exec_() else: QMessageBox.critical(self, "предварительный просмотр", "Нет данных для отображения. ", QMessageBox.Ok)
def printPreview(self): #* Generate PDF in path currentdir = os.path.dirname(os.path.realpath(__file__)) html_path = os.path.join(currentdir, "index.html") pdf_path = os.path.join(currentdir, "index.pdf") converter = HyperPDFizer(html_path, pdf_path, currentdir) converter.run() if self.page is None: return if self.m_inPrintPreview: return self.m_inPrintPreview = True printer = QPrinter() preview = QPrintPreviewDialog(printer, self.page.view()) preview.paintRequested.connect(self.printDocument) preview.exec_() self.m_inPrintPreview = False
def printDocument(self): document = self.text.document() printer = QPrinter() dlg = QPrintPreviewDialog(printer, self) if dlg.exec_() != QtWidgets.QDialog.Accepted: return document.print_(printer) self.statusBar().showMessage("Печать успешна", 2000)
def vistaPrevia(self): if not self.documento.isEmpty(): impresion = QPrinter(QPrinter.HighResolution) vista = QPrintPreviewDialog(impresion, self) vista.setWindowTitle("Vista previa") vista.setWindowFlags(Qt.Window) vista.resize(800, 600) exportarPDF = vista.findChildren(QToolBar) exportarPDF[0].addAction(QIcon("exportarPDF.png"), "Exportar a PDF", self.exportarPDF) vista.paintRequested.connect(self.vistaPreviaImpresion) vista.exec_() else: QMessageBox.critical(self, "Vista previa", "No hay datos para visualizar. ", QMessageBox.Ok)
def print_file(fileName, printFunction): """This method print a file This method print a file, fileName is the default fileName, and printFunction is a funcion that takes a QPrinter object and print the file, the print method More info on:http://doc.qt.nokia.com/latest/printing.html""" printer = QPrinter(QPrinter.HighResolution) printer.setPageSize(QPrinter.A4) printer.setOutputFileName(fileName) printer.setDocName(fileName) preview = QPrintPreviewDialog(printer) preview.paintRequested[QPrinter].connect(printFunction) size = QApplication.instance().desktop().screenGeometry() width = size.width() - 100 height = size.height() - 100 preview.setMinimumSize(width, height) preview.exec_()
def print_file(fileName, printFunction): """This method print a file This method print a file, fileName is the default fileName, and printFunction is a funcion that takes a QPrinter object and print the file, the print method More info on:http://doc.qt.nokia.com/latest/printing.html""" printer = QPrinter(QPrinter.HighResolution) printer.setPageSize(QPrinter.A4) printer.setOutputFileName(fileName) printer.setDocName(fileName) preview = QPrintPreviewDialog(printer) preview.paintRequested['QPrinter*'].connect(printFunction) size = QApplication.instance().desktop().screenGeometry() width = size.width() - 100 height = size.height() - 100 preview.setMinimumSize(width, height) preview.exec_()
def filePrintPreview(self): printer = QPrinter(QPrinter.HighResolution) preview = QPrintPreviewDialog(printer, self) preview.paintRequested.connect(self.printPreview) preview.exec_()
def printReview(self): printer = QPrinter(QPrinter.HighResolution) review = QPrintPreviewDialog(printer, self) review.setWindowFlags(QtCore.Qt.Window) review.paintRequested.connect(self.print) review.exec_()