def printNote(self): printer = QtPrintSupport.QPrinter(QtPrintSupport.QPrinter.HighResolution) printer.setCreator(__appname__ + ' ' + __version__) printer.setDocName(self.notesTree.currentItem().text(0)) printdialog = QtPrintSupport.QPrintDialog(printer, self) if printdialog.exec() == QtWidgets.QDialog.Accepted: self.notesView.print_(printer)
def addPay(self): self.sql.Insert( 'pay', self.sql.SelectOne('bands', 'ID', 'nameB', "'" + self.Band.currentText() + "'")[0], datetime.datetime.now().strftime("%d.%m.%Y"), self.Time.text(), self.TimeEnd.text(), self.RentT.toPlainText(), self.Pay.intValue()) txt = QtGui.QTextDocument() txt.setPlainText('-' * 100 + "\n Репетиционная студия '9/10'" + "\n Спасибо что провели у нас репетицию " + self.Band.currentText() + "\n" + '-' * 100 + '\n' + str(datetime.datetime.now()) + '\n К оплате - \n Продолжительность репетиции - ' + self.Hour.text() + ' час/часов \n' + '(Стоимость часа - 200 руб)\n' + 'Арендованно оборудование: \n' + self.RentT.toPlainText() + '\n' + '-' * 100 + '\n Итог - ' + str(self.Pay.intValue()) + '\n Внесено -' + self.PayBand.text() + '\n Сдача - ' + str(self.Return.intValue()) + '\n Спасибо ' + self.Band.currentText() + ', приходите еще. \n' + '-' * 100) pri = QtPrintSupport.QPrinter() dia = QtPrintSupport.QPrintDialog(pri) dia.exec() txt.print_(pri) self.sql.Delete( 'sing_up', self.sql.SelectOne('bands', 'ID', 'nameB', "'" + self.Band.currentText() + "'")[0], datetime.datetime.now().strftime("%d.%m.%Y")) self.close()
def action_func(self): qpmap = QApplication.primaryScreen() pix = qpmap.grabWindow(self.winId()) printer = QtPrintSupport.QPrinter( QtPrintSupport.QPrinter.HighResolution) printer.setPageSize(QtPrintSupport.QPrinter.B6) preview = QtPrintSupport.QPrintDialog(printer, self) if preview.exec(): painter = QtGui.QPainter(printer) rect = painter.viewport() # 获取矩形区域大小 size = pix.size() size.scale(rect.size(), Qt.KeepAspectRatio) # 保证图片显示完整 painter.setViewport(0, 0, size.width(), size.height()) # 按照图像大小比例重设矩形区域 rect = QRect(0, 0, pix.width() + 50, pix.height()) painter.setWindow(rect) # 设置窗口大小 painter.drawPixmap(30, 0, pix) # 将图像绘制在Qpainter上 painter.end() conn = sqlite3.connect('./data_a.db') for name in list(self.drug_data.keys()): c = conn.cursor() c.execute( "select amount from test_data where name='{0}'".format( name)) old_amount = c.fetchall()[0][0] new_amount = old_amount - self.drug_data[name] c.execute( "update test_data set amount={0} where name='{1}'".format( new_amount, name)) conn.commit() c.close() conn.close() self.close()
def menu_click_print_screen(self): """Печать главного окна программы по нажатию пункта главного меню. """ if self.db.check() is False: return show_message( 'Ошибка печати', 'Данные для печати отсутствуют.', ) image = self.tabWidget.grab() image_widget = QLabel(self) image_widget.setPixmap(image) image_widget.resize(image.width(), image.height()) printer = QtPrintSupport.QPrinter( QtPrintSupport.QPrinter.HighResolution) dialog = QtPrintSupport.QPrintDialog(printer, self) if dialog.exec_() != QDialog.Accepted: return try: painter = QtGui.QPainter(printer) image_widget.render(painter) painter.end() show_message( 'Печать...', 'Файл отправлен на печать.', ) except Exception as e: show_message( 'Ошибка печати', f'Не удалось напечатать файл: {e}.', )
def handle_preview(self): printer = QtPrintSupport.QPrinter( QtPrintSupport.QPrinter.HighResolution) dialog = QtPrintSupport.QPrintPreviewDialog(printer) dialog.paintRequested.connect(self.handle_paint_request) dialog.exec_() self.end_print()
def handle_print(self): printer = QtPrintSupport.QPrinter( QtPrintSupport.QPrinter.HighResolution) dialog = QtPrintSupport.QPrintDialog(printer) if dialog.exec_() == QDialog.Accepted: self.handle_paint_request(printer) self.end_print()
def _print(self): printer = QtPrintSupport.QPrinter() dialog = QtPrintSupport.QPrintDialog(printer, self) dialog.setWindowTitle(_('Print run output')) if dialog.exec_() == dialog.Accepted: tab = self._tabs[self.ui.tabWidget.currentIndex()] tab.document().print(printer)
def __handle_press_print(self): printer = QtPrintSupport.QPrinter() printdlg = QtPrintSupport.QPrintDialog(printer, self.edit_issue_dialog[0]) printdlg.setWindowTitle("Print Issue") if not printdlg.exec(): return printer.setFullPage(True) pixmap = self.edit_issue_dialog[1].tab.grab() pixmap2 = self.edit_issue_dialog[1].repairLogTable.grab() painter = QtGui.QPainter() painter.begin(printer) self.scalePrintImageToPage(pixmap, painter, printer) painter.drawPixmap(0, 0, pixmap) painter.end() printer.newPage() painter = QtGui.QPainter() painter.begin(printer) self.scalePrintImageToPage(pixmap2, painter, printer) painter.drawPixmap(0, 0, pixmap2) painter.end()
def printRecipe (self) : printer=QtPrintSupport.QPrinter() dialog = QtPrintSupport.QPrintDialog(printer) dialog.setModal(True) dialog.setWindowTitle("Print Document" ) if dialog.exec_() == True: self.webViewBiblio.print(printer)
def print_figure(self): ''' Save the plot to a temporary png file and show a preview dialog also used for printing. ''' filetypes=self.canvas.get_supported_filetypes_grouped() sorted_filetypes=filetypes.items() sorted_filetypes.sort() filename=os.path.join(tempfile.gettempdir(), u"quicknxs_print.png") self.canvas.print_figure(filename, dpi=600) imgpix=QtGui.QPixmap(filename) os.remove(filename) imgobj=QtWidgets.QLabel() imgobj.setPixmap(imgpix) imgobj.setMask(imgpix.mask()) imgobj.setGeometry(0, 0, imgpix.width(), imgpix.height()) def getPrintData(printer): imgobj.render(printer) printer=QtPrintSupport.QPrinter() printer.setPrinterName('mrac4a_printer') printer.setPageSize(QtPrintSupport.QPrinter.Letter) printer.setResolution(600) printer.setOrientation(QtPrintSupport.QPrinter.Landscape) pd=QtPrintSupport.QPrintPreviewDialog(printer) pd.paintRequested.connect(getPrintData) pd.exec_()
def __init__(self): """ Constructor """ super(PrintServiceForm, self).__init__(Registry().get('main_window'), QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowCloseButtonHint) self.printer = QtPrintSupport.QPrinter() self.print_dialog = QtPrintSupport.QPrintDialog(self.printer, self) self.document = QtGui.QTextDocument() self.zoom = 0 self.setup_ui(self) # Load the settings for the dialog. settings = Settings() settings.beginGroup('advanced') self.slide_text_check_box.setChecked(settings.value('print slide text')) self.page_break_after_text.setChecked(settings.value('add page break')) if not self.slide_text_check_box.isChecked(): self.page_break_after_text.setDisabled(True) self.meta_data_check_box.setChecked(settings.value('print file meta data')) self.notes_check_box.setChecked(settings.value('print notes')) self.zoom_combo_box.setCurrentIndex(settings.value('display size')) settings.endGroup() # Signals self.print_button.triggered.connect(self.print_service_order) self.zoom_out_button.clicked.connect(self.zoom_out) self.zoom_in_button.clicked.connect(self.zoom_in) self.zoom_original_button.clicked.connect(self.zoom_original) self.preview_widget.paintRequested.connect(self.paint_requested) self.zoom_combo_box.currentIndexChanged.connect(self.display_size_changed) self.plain_copy.triggered.connect(self.copy_text) self.html_copy.triggered.connect(self.copy_html_text) self.slide_text_check_box.stateChanged.connect(self.on_slide_text_check_box_changed) self.update_preview_text()
def printBrewday(self): printer = QtPrintSupport.QPrinter() dialog = QtPrintSupport.QPrintDialog(printer) dialog.setModal(True) dialog.setWindowTitle("Print Document") if dialog.exec_(): self.webViewBrewday.print_(printer)
def run(self, *args, **kwargs): """ Print the diagram. """ shape = self.diagram.visibleRect(margin=20) if shape: printer = QtPrintSupport.QPrinter( QtPrintSupport.QPrinter.HighResolution) printer.setOutputFormat(QtPrintSupport.QPrinter.NativeFormat) dialog = QtPrintSupport.QPrintDialog(printer) if dialog.exec_() == QtPrintSupport.QPrintDialog.Accepted: painter = QtGui.QPainter() if painter.begin(printer): # TURN CACHING OFF for item in self.diagram.items(): if item.isNode() or item.isEdge(): item.setCacheMode(AbstractItem.NoCache) # RENDER THE DIAGRAM IN THE PAINTER self.diagram.render(painter, source=shape) # TURN CACHING ON for item in self.diagram.items(): if item.isNode() or item.isEdge(): item.setCacheMode( AbstractItem.DeviceCoordinateCache) # COMPLETE THE PRINT painter.end()
def __init__(self): self.printer = QtPrintSupport.QPrinter( QtPrintSupport.QPrinter.HighResolution) self.printer.setPageOrientation(QtGui.QPageLayout.Landscape) self.printer.setPageMargins(2, 2, 2, 2, QtPrintSupport.QPrinter.Millimeter) self.printer.setPageSize(QtPrintSupport.QPrinter.A4) self.dialog = QtPrintSupport.QPrintDialog(self.printer)
def printFile(self): document = self.codeViewer.document() printer = QtPrintSupport.QPrinter() dlg = QtPrintSupport.QPrintDialog(printer, self) if dlg.exec_() != QtWidgets.QDialog.Accepted: return document.print_(printer)
def __init__(self, parent=None): self.parent = parent self.setProps() self.estItems = [] self.printer = QtPrintSupport.QPrinter() self.printer.setPaperSize(QtPrintSupport.QPrinter.A5) self.pdfprinter = QtPrintSupport.QPrinter() self.pdfprinter.setPaperSize(QtPrintSupport.QPrinter.A5)
def handle_print(self): printer = QtPrintSupport.QPrinter(QtPrintSupport.QPrinter.HighResolution) dialog = QtPrintSupport.QPrintDialog(printer, self._window) if dialog.exec_() == QtPrintSupport.QPrintDialog.Accepted: self.assemble_print_text() self._print_editor.document().print_(dialog.printer()) self._window.status_message("Sent summary document to printer {}".format(dialog.printer().printerName()))
def exec_(self): if BaseDialog.exec_(self): printer = QtPrintSupport.QPrinter() printer.setPaperSize(printer.A4) dialog = QtPrintSupport.QPrintDialog(printer, self.parent()) if not dialog.exec_(): return False self.web_view.print_(printer)
def files(self, action): # Function open/save files. fd = QtWidgets.QFileDialog() # File dialog instance. if action.text() == "Open": # For opening of the files. fdf = fd.getOpenFileNames(self, caption="Open Files", directory=QtCore.QDir.homePath()) if len(fdf[0]) > 0: # Checks if the file dialog self.text_edit.clear() # has a selected files for for of in fdf[0]: # open. Each file of the self.tabwid.setCurrentIndex(2) # selected will be open. try: # Will try to open file as openf = open(of, 'r') # simple .txt or .html and, self.text_edit.append(str(openf.read())) continue # read content to text field. except Exception: # If successfull continue. pass # If unread or error - pass. try: # Try to open file in the openf = open(of, 'rb') # binary mode .py or other. self.text_edit.append(str(openf.read())) except Exception: # Content to the field, if pass # error - pass (do nothing). if action.text() == "Save": # For saving of the files. fdf = fd.getSaveFileName(self, caption="Save Files", directory=QtCore.QDir.homePath()) if fdf[0] != "": # Checks if files selected. self.tabwid.setCurrentIndex(2) # Open TabWid with Text Field. try: # Will try to save file as open(fdf[0], 'w').write(self.text_edit.toPlainText()) success = True # .txt file with plain text of except Exception: # text field. And success is pass # True. An error - pass. if success != True: # If file not saved as .txt try: # will try to save file in the open(fdf[0], 'wb').write(self.text_edit.toPlainText()) success = True # binary mode, as plain text. except Exception: # An exception - will pass. pass # If success is True will if success == True: # shown information message. self.info_message(fpath=fdf[0], txt="File saved as", types="info") else: # If not True, critical. self.info_message(fpath=fdf[0], txt="File don`t saved", types="critical") if action.text() == "Print": print_dialog = QtPrintSupport.QPrintDialog(self.print_device) if print_dialog.exec_() == QtWidgets.QDialog.Accepted: self.text_edit.print_(print_dialog.printer()) if action.text() == "Print Preview": # Print preview dialog. print_dialog = QtPrintSupport.QPrintPreviewDialog( self.print_device) print_dialog.setWindowTitle("Print Preview") print_dialog.setWindowIcon(QtGui.QIcon("Icons/python1.png")) print_dialog.paintRequested.connect(self.text_edit.print_) print_dialog.exec_() # Executes dialog window.
def handlePrint(self, parent): print("Handling print") printer = QtPrintSupport.QPrinter() #printer.setOutputFileName("") self.dialog = QtPrintSupport.QPrintDialog(printer, parent) print(self.dialog) if self.dialog.exec_() == QtWidgets.QDialog.Accepted: print(self.dialog.printer()) self.paint_po(self.dialog.printer())
def __init__(self, parent=None): self.parent = parent self.printer = QtPrintSupport.QPrinter() self.printer.setPaperSize(QtPrintSupport.QPrinter.A5) self.pdfprinter = QtPrintSupport.QPrinter() self.pdfprinter.setPaperSize(QtPrintSupport.QPrinter.A5) self.setProps() self.receivedDict = {} self.isDuplicate = False self.dupdate = QtCore.QDate.currentDate()
def printpreviewdialog(self): printer = QtPrintSupport.QPrinter() printer.setOrientation(QtPrintSupport.QPrinter.Portrait) printer.setPageSize(QtPrintSupport.QPrinter.A4) printer.setPaperSize(QtPrintSupport.QPrinter.A4) printer.setPageMargins(25, 15, 25, 25, QtPrintSupport.QPrinter.Millimeter) previewdialog = QtPrintSupport.QPrintPreviewDialog(printer, self) previewdialog.paintRequested.connect(self.printpreview) previewdialog.exec_()
def printFile(self, textBody): textBody = self.ui.tabWidget.currentWidget().findChild(QTextEdit) printer = QtPrintSupport.QPrinter( QtPrintSupport.QPrinter.HighResolution) dialog = QtPrintSupport.QPrintPreviewDialog(printer, self) dialog.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.CustomizeWindowHint | QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowCloseButtonHint) dialog.paintRequested.connect(textBody.print_) dialog.exec_()
def handlePrint(self): ## width = 800 ## height = 263.520403 self.printer = QtPrintSupport.QPrinter() ## self.printer.setPageSize(QPageSize(QSizeF(width, height), QPageSize.Unit.Point, 'Cheque')) ## self.printer.setFullPage(True) self.printer.NativeFormat dialog = QtPrintSupport.QPrintDialog() if dialog.exec_() == QtWidgets.QDialog.Accepted: print(self.editor) self.editor.print_(self.printer)
def print_printer(self): '''Comment''' printer = QtPrintSupport.QPrinter() printer.setOutputFileName('book.pdf') printer.setFullPage(True) printer.setPaperSize(QtPrintSupport.QPrinter.Letter) print_dialog = QtPrintSupport.QPrintDialog(printer, self) if print_dialog.exec_(): painter = QtGui.QPainter(printer) self.render(painter) del painter
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 _fileIsReadyToPrint(self, printer, filename): inkscapeFailed = False if printer is not None and isinstance(printer, QtPrintSupport.QPrinterInfo): # quick print! self.mainWindow.statusBar().showMessage('Quick print > render...') psFilename = tempfile.mkstemp('.ps')[1] process = subprocess.Popen( ['inkscape', '-P', psFilename, filename]) process.wait() self.mainWindow.statusBar().showMessage('Quick print > print...') process = subprocess.Popen( ['lpr', '-P', printer.printerName(), psFilename]) process.wait() os.unlink(psFilename) self.mainWindow.statusBar().showMessage('Quick print done!') elif self.mainWindow.actionUseInkscape.isChecked(): self.mainWindow.statusBar().showMessage('Printing via Inkscape...', 5000) inkscapeFailed = not self._launchInkscapeToPrint(filename) if inkscapeFailed: self.mainWindow.statusBar().showMessage( 'Inkscape failed, printing via system...', 5000) else: inkscapeFailed = True if inkscapeFailed: self.printer = QtPrintSupport.QPrinter() dialog = QtPrintSupport.QPrintDialog(self.printer, self.mainWindow) if dialog.exec_() != QtWidgets.QDialog.Accepted: return def printingDone(ok): if ok: self.mainWindow.statusBar().showMessage( 'Printing done!', 5000) else: self.mainWindow.statusBar().showMessage( 'Printing failed :(') self.mainWindow.statusBar().showMessage('Printing...') self.mainWindow.preview.page().print(self.printer, printingDone) self.addLogEntry() if len(self.templateElements) > 0: self.templateElements[0].setFocus() self.templateElements[0].selectAll()
def print_webpage(self): """Print the webpage to a printer. Callback for the print action. Should show a print dialog and print the webpage to the printer. """ if self.print_settings.get("mode") == "high": printer = qtp.QPrinter(mode=qtp.QPrinter.HighResolution) else: printer = qtp.QPrinter(mode=qtp.QPrinter.ScreenResolution) if self.print_settings: if self.print_settings.get("size_unit"): try: unit = getattr( QPrinter, self.print_settings.get("size_unit").capitalize()) except NameError: self.debug("Specified print size unit '{}' not found," "using default.".format( self.print_settings.get("size_unit"))) unit = qtp.QPrinter.Millimeter else: unit = qtp.QPrinter.Millimeter margins = (list(self.print_settings.get("margins")) or list(printer.getPageMargins(unit))) margins += [unit] printer.setPageMargins(*margins) if self.print_settings.get("orientation") == "landscape": printer.setOrientation(qtp.QPrinter.Landscape) else: printer.setOrientation(qtp.QPrinter.Portrait) if self.print_settings.get("paper_size"): printer.setPaperSize( qtc.QSizeF(*self.print_settings.get("paper_size")), unit) if self.print_settings.get("resolution"): printer.setResolution( int(self.print_settings.get("resolution"))) if not self.print_settings.get("silent"): print_dialog = qtp.QPrintDialog(printer, self) print_dialog.setWindowTitle("Print Page") if not print_dialog.exec_() == qtw.QDialog.Accepted: return False self.print_(printer) return True
def print_printer(self): """comment""" printer = QtPrintSupport.QPrinter() printer.setOutputFileName('book.pdf') printer.setFullPage(True) printer.setPaperSize(QtPrintSupport.QPrinter.Letter) prt = QtPrintSupport.QPrintDialog(printer, self) if prt.exec_(): painter = QtGui.QPainter(printer) self.render(painter) del painter else: print('print dialog does not return')
def print_pdf(self): '''Print the report to pdf''' if self.busy.locked(): return with self.busy: printer = QtPrintSupport.QPrinter() dialog = QtPrintSupport.QPrintDialog(printer, self) dialog.setModal(True) dialog.setWindowTitle("Print Document") dialog.options = (QtPrintSupport.QAbstractPrintDialog.PrintToFile | QtPrintSupport.QAbstractPrintDialog.PrintShowPageSize | QtPrintSupport.QAbstractPrintDialog.PrintPageRange) if dialog.exec_(): print("printing")