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 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 (WebBrowserView) """ 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) printer.setResolution(Preferences.getPrinter("Resolution")) preview = QPrintPreviewDialog(printer, self) preview.resize(800, 750) preview.paintRequested.connect( lambda p: self.__printPreviewRequested(p, browser)) preview.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 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 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 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)