示例#1
0
    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()))
示例#2
0
 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_()
示例#3
0
 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_()
示例#4
0
 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_()
示例#5
0
    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_()
示例#6
0
    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_()
示例#7
0
    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_()
示例#8
0
 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_()
示例#9
0
    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()))
示例#10
0
    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_()
示例#11
0
 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_()
示例#12
0
 def print_(self):
     printer = QPrinter(QPrinter.ScreenResolution)
     dlg = QPrintPreviewDialog(printer)
     view = PrintView()
     view.setModel(self.table.model())
     dlg.paintRequested.connect(view.print_)
     dlg.exec_()
示例#13
0
    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_()
示例#14
0
    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_()
示例#15
0
 def _printDocument(self):
     """Open the print preview dialog.
     """
     thePreview = QPrintPreviewDialog(self)
     thePreview.paintRequested.connect(self._doPrintPreview)
     thePreview.exec_()
     return
示例#16
0
 def print_(self):
     printer = QPrinter(QPrinter.ScreenResolution)
     dlg = QPrintPreviewDialog(printer)
     view = PrintView()
     view.setModel(self.table.model())
     dlg.paintRequested.connect(view.print_)
     dlg.exec_()
示例#17
0
 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)
示例#18
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_()
示例#19
0
    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_()
示例#20
0
 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_()
示例#21
0
    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_()
示例#22
0
 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_()
示例#24
0
 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
示例#25
0
def on_htmlButton_clicked():
    printer = QPrinter(QPrinter.HighResolution)
    # /* 打印预览 */
    preview = QPrintPreviewDialog(printer, widget)
    preview.paintRequested.connect(printHtml)

    #
    #   显示 预览框
    #
    # preview.exec()
    preview.exec_()
示例#26
0
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
示例#27
0
 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_()
示例#28
0
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_()
示例#29
0
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
示例#30
0
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_()  # /* 等待预览界面退出 */
示例#31
0
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_()
示例#32
0
    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_()
示例#33
0
    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)
示例#34
0
    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
示例#35
0
    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)
示例#36
0
    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)
示例#37
0
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_()
示例#38
0
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_()
示例#39
0
 def filePrintPreview(self):
     printer = QPrinter(QPrinter.HighResolution)
     preview = QPrintPreviewDialog(printer, self)
     preview.paintRequested.connect(self.printPreview)
     preview.exec_()
示例#40
0
 def printReview(self):
     printer = QPrinter(QPrinter.HighResolution)
     review = QPrintPreviewDialog(printer, self)
     review.setWindowFlags(QtCore.Qt.Window)
     review.paintRequested.connect(self.print)
     review.exec_()