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 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 do_printer(mainWin, orderNo): try: printer = QPrinter(QPrinter.HighResolution) # /* 打印预览 */ preview = QPrintPreviewDialog(printer, mainWin) preview.paintRequested.connect(print_html) global selectOrderNo selectOrderNo = orderNo preview.exec_() return True except Exception as print_exception: print(print_exception) return False
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 print(self, preview: bool = False) -> None: """Print the current widget. **syntax:** ``:print [--preview]`` optional arguments: * ``--preview``: Show preview dialog before printing. """ if self._widget is None: raise api.commands.CommandError("No widget to print") if preview: _logger.debug("Starting print preview dialog") dialog = QPrintPreviewDialog() self.handle_print(self._widget, dialog, dialog.paintRequested) else: _logger.debug("Starting print dialog") self.handle_print(self._widget, QPrintDialog(), auto_apply_orientation=True)
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 __init__(self, parent=None, html=None): super(PrintHtml, self).__init__(parent) # html = codecs.open(b"template.html", encoding='utf-8').read() baseurl = QUrl.fromLocalFile(os.getcwd() + "/temp/index.html") self.setHtml(html, baseurl) self.printer = QPrinter() self.printer.setPageSize(QPrinter.A4) self.printer.setOrientation(QPrinter.Portrait) self.printer.setPageMargins(5, 5, 5, 5, QPrinter.Millimeter) self.setFixedWidth(1000) dialog = QPrintPreviewDialog(self.printer) dialog.setWindowState(Qt.WindowMaximized) dialog.paintRequested.connect(self.print_) dialog.setWindowFlags(Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowMinMaxButtonsHint | Qt.WindowCloseButtonHint | Qt.WindowContextHelpButtonHint) dialog.exec()
def view(self): #Vista previa if not self.document.isEmpty(): impres = QPrinter(QPrinter.HighResolution) var_view = QPrintPreviewDialog(impres, self) var_view.setWindowTitle("Vista previa") var_view.setWindowFlags(Qt.Window) var_view.resize(800, 600) exportarPDF = var_view.findChildren(QToolBar) exportarPDF[0].addAction(QIcon("logo.png"), "Exportar a PDF", self.pdf_export) var_view.paintRequested.connect(self.visualizar) var_view.exec_() else: QMessageBox.critical(self, "Atención", "No hay datos en la tabla ", 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 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.paintRequested.connect(tab.print) diag.exec_() else: diag = QPrintDialog() diag.setAttribute(Qt.WA_DeleteOnClose) diag.open(lambda: tab.print(diag.printer()))
def PENT(self): Namee = self.ui.rqm.text() conn = sqlite3.connect('ALLCOM.db') c = conn.cursor() try: SQLl = c.execute("SELECT sum(commision) FROM COMM WHERE unit like ?", (Namee,)) for i in SQLl: print(i) # conn.commit() # for row in SQLl: # print(str(row[5])) # t1 = row[5] * -1 self.ui.VIEW.append("إجمالي ايرادات المندوب:" + Namee + str(i) + " ريال سعودي") self.ui.VIEW.append("the total commision of sals rep is: ".title() + str(i) + " sar" + Namee) except Exception as eee: print(eee) c.close() printer = QPrinter(QPrinter.HighResolution) previewDialog = QPrintPreviewDialog(printer, self) previewDialog.paintRequested.connect(self.printPreview) previewDialog.exec_()
def demo(template, preview=True): import os from os.path import dirname, basename import parser app = QApplication([]) print("Setup printer...") # FIXME: investigate why QPrinter.HighResolution doesn't work as expected printer = QPrinter() printer.setOutputFormat(QPrinter.PdfFormat) printer.setOutputFileName("report.pdf") printer.setColorMode(QPrinter.Color) printer.setPaperSize(QPrinter.A4) #printer.setOrientation(QPrinter.Landscape) def print_pages(requested_printer): print("Parsing template") current_dir = os.getcwd() template_dir = dirname(template) os.chdir(template_dir) pages = parser.parse(open(basename(template))) paint_pages(requested_printer, pages) os.chdir(current_dir) if preview: pd = QPrintPreviewDialog(printer) pd.paintRequested.connect(print_pages) else: pd = QPrintDialog(printer) if pd.exec_() != QDialog.Accepted: return print_pages(printer) print("Show print dialog...") QTimer.singleShot(500, pd.exec_) sys.exit(app.exec_())
def Print(self): title = ["红色(客户)", "白色(存根)", "黄色(会计)", "蓝色(回单)"] for i in range(7): if self.commoditydata.Find(self.lineedits[i][0].text()) == False: self.commoditydata.InsertData(self.lineedits[i][0].text(), self.lineedits[i][1].text(), self.lineedits[i][2].text()) for i in range(4): preview = QPrintPreviewDialog(self.printer, self) preview.setGeometry(100, 100, 1200, 600) if i == 0: self.redcheckbutton.setChecked(True) self.colorlabel.setStyleSheet( "background-color:rgba(255,0,0,25)") elif i == 1: self.whitecheckbutton.setChecked(True) self.colorlabel.setStyleSheet( "background-color:rgba(255,255,255,25)") elif i == 2: self.yellowcheckbutton.setChecked(True) self.colorlabel.setStyleSheet( "background-color:rgba(255,255,0,25)") else: self.bluecheckbutton.setChecked(True) self.colorlabel.setStyleSheet( "background-color:rgba(0,255,255,25)") preview.setWindowTitle(title[i]) """ 以下两句实现控制打印纸张的大小 QSizeF 中的第二个参数是height ,第一个是width """ #self.printer.setPageSize(QPrinter.Custom) self.printer.setPaperSize(QSizeF(900, 550), QPrinter.Point) preview.paintRequested.connect(self.PlotPic) preview.exec() #显示预览窗口 self.colorlabel.setStyleSheet("background-color:rgba(255,255,255,25)") self.bluecheckbutton.setChecked(False)
def __init__(self, parent=None, url=""): """ Constructor of HtmlView :param parent: parent of the view :param url: url to load, if set, a loadFInished signal is emitted """ super().__init__(parent) self.html = "" self.setUrl(QUrl(url)) """Open QPrintPreviewDialog dialog window""" self.preview = QPrintPreviewDialog() # just for the moment / buf in Qt leads to incorrect printing of tables fomr QWebKit self.preview.printer().setOutputFormat(QPrinter.PdfFormat) self.preview.printer().setPaperSize(QPrinter.A4) self.textedit = QTextEdit() self.preview.paintRequested.connect(self.printPreview) if url != "": self.loadFinished.connect(self.execpreview)
def preview(self): preview = QPrintPreviewDialog() # If a print is requested, open print dialog preview.paintRequested.connect(lambda p: self.outputText.print_(p)) preview.exec_()
def print_preview(self): printer = QPrinter(QPrinter.HighResolution) preview_dialog = QPrintPreviewDialog(printer, self) preview_dialog.paintRequested.connect( lambda: self.ui.main_text.print_(printer)) preview_dialog.exec_()
def kagidadok(self): diyalog = QPrintPreviewDialog() diyalog.paintRequested.connect(self.ciktial) diyalog.exec()
def printsetup(self): self.printer = QPrinter(QPrinter.HighResolution) dialog = QPrintPreviewDialog(self.printer, self) dialog.paintRequested.connect(self.handle_paint_request) dialog.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 print_preview_dialog(self): printer = QPrinter(QPrinter.HighResolution) previewDialog = QPrintPreviewDialog(printer, self) previewDialog.paintRequested.connect(self.print_preview) previewDialog.exec_()
def print_page(self): dlg = QPrintPreviewDialog() dlg.paintRequested.connect(self.browser.print_) dlg.exec_()
def Imprimir(self): imprimir = QPrinter(QPrinter.HighResolution) previsualizacao = QPrintPreviewDialog(imprimir, self) previsualizacao.paintRequested.connect(self.printprevia) previsualizacao.exec_()
def _print_preview(self): printer = QPrinter(QPrinter.HighResolution) self.preview_dialog = QPrintPreviewDialog(printer, self) self.preview_dialog.paintRequested.connect( self._actually_print_preview) self.preview_dialog.exec_()
def _print_text(self): # pragma: no cover dialog = QPrintPreviewDialog() dialog.paintRequested.connect(self._view.text.print_) dialog.exec_()
def print_doc(self): dialog = QPrintPreviewDialog() dialog.paintRequested.connect(self.web_view.print_) dialog.exec_()
def PageView(self): preview = QPrintPreviewDialog() preview.paintRequested.connect(self.PaintPageView) preview.exec_()
def filePrintPreview(self): printer = QPrinter(QPrinter.HighResolution) preview = QPrintPreviewDialog(printer, self) preview.paintRequested.connect(self.printPreview) preview.exec_()