예제 #1
0
	def printPreview(self):
		document = self.getDocumentForPrint()
		if document == None:
			return
		printer = self.standardPrinter()
		preview = QPrintPreviewDialog(printer, self)
		preview.paintRequested.connect(document.print)
		preview.exec()
예제 #2
0
파일: window.py 프로젝트: daffodil/retext
	def printPreview(self):
		document = self.getDocumentForPrint()
		if document == None:
			return
		printer = self.standardPrinter()
		preview = QPrintPreviewDialog(printer, self)
		preview.paintRequested.connect(document.print)
		preview.exec()
예제 #3
0
    def Print(self):
        if self.CheckTable() == False:  #如果库存单信息不完整,将不能打印
            return

        if not (self.yifu.isChecked()
                or self.weifu.isChecked()) and self.AddinDatabase == True:
            QMessageBox.warning(self, "警告", "请选择“付款情况")
            return

        if self.AddinDatabase:  #在非查看模式下打印才会将数据存入数据库
            #if True:
            print("yes")
            if not self.yifu.isChecked():  #将未付款客户订单存入数据库
                print(self.getnotpaydata())
                self.kucundandata.InsertData(self.getnotpaydata())
                self.yingye.InsertData(self.getYingYeEData("未付款"))
                #print(self.getYingYeEData("未付款"))
            else:
                self.yingye.InsertData(self.getYingYeEData("已付款"))
                #print(self.getYingYeEData("已付款"))
            for i in range(10):  #将从没出现过的商品存入数据库
                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):
            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 = QPrintPreviewDialog(self.printer, self)
            preview.setGeometry(100, 100, 1200, 900)
            """
            以下两句实现控制打印纸张的大小
            QSizeF 中的第二个参数是height ,第一个是width
            """
            self.printer.setPageSize(QPrinter.Custom)
            self.printer.setPaperSize(QSizeF(1880, 1260),
                                      QPrinter.Point)  #QSizeF 中的参数按比例改变可以填充满纸张
            preview.paintRequested.connect(self.PlotPic)
            preview.exec()  # 显示预览窗口

        self.colorlabel.setStyleSheet("background-color:rgba(255,255,255,25)")
        self.bluecheckbutton.setChecked(False)
예제 #4
0
파일: window.py 프로젝트: svenoaks/retext
	def printPreview(self):
		title, htmltext, preview = self.currentTab.getDocumentForExport()
		document = self.getDocumentForPrint(title, htmltext, preview)
		if document is None:
			return
		printer = self.standardPrinter(title)
		preview = QPrintPreviewDialog(printer, self)
		preview.paintRequested.connect(document.print)
		preview.exec()
예제 #5
0
 def onTriggeredPrintAct_c(self):
     with open("table2.png", "wb") as tablePng:
         tablePng.write(base64.b64decode(table2_png))
     tableImage = QImage()
     tableImage.load("table2.png")
     os.remove("table2.png")
     self.getWearCardImage(tableImage)
     preview = QPrintPreviewDialog(self.printer, self)
     preview.paintRequested.connect(self.plotPic)
     preview.exec()  # /* 等待预览界面退出 */
예제 #6
0
	def printPreview(self):
		title, htmltext, preview = self.currentTab.getDocumentForExport(includeStyleSheet=True,
										webenv=False)
		document = self.getDocumentForPrint(title, htmltext, preview)
		if document is None:
			return
		printer = self.standardPrinter(title)
		preview = QPrintPreviewDialog(printer, self)
		preview.paintRequested.connect(document.print)
		preview.exec()
예제 #7
0
 def printPreview(self):
     if not self.m_page:
         return
     if self.m_inPrintPreview:
         return
     self.m_inPrintPreview = True
     printer = QPrinter(QPrinter.HighResolution)
     preview = QPrintPreviewDialog(printer, self.m_page.view())
     preview.paintRequested.connect(self.printDocument)
     preview.exec()
     self.m_inPrintPreview = False
예제 #8
0
파일: printing.py 프로젝트: shqk17/python
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()  # /* 等待预览界面退出 */
예제 #9
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()
예제 #10
0
    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()
예제 #11
0
class HtmlView(QWebEngineView):
    """Subclass QWebView and connect to a QPrintPreviewDialog object"""

    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 execpreview(self, arg):
        self.preview.exec()

    def printPreview(self, printer):
        self.textedit.print(printer)

    def setHtml_(self, html):
        self.setHtml(html)
        self.textedit.setHtml(html)

        # small workaround to find the QPrintPreviewWidget inside the pre-defined dialog and force it to update its content
        wdg = self.preview.findChild(PyQt5.QtPrintSupport.QPrintPreviewWidget)
        if wdg is not None:
            wdg.updatePreview()
예제 #12
0
    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()
예제 #13
0
class HtmlView(QWebEngineView):
    """Subclass QWebView and connect to a QPrintPreviewDialog object"""
    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 execpreview(self, arg):
        self.preview.exec()

    def printPreview(self, printer):
        self.textedit.print(printer)

    def setHtml_(self, html):
        self.setHtml(html)
        self.textedit.setHtml(html)

        # small workaround to find the QPrintPreviewWidget inside the pre-defined dialog and force it to update its content
        wdg = self.preview.findChild(PyQt5.QtPrintSupport.QPrintPreviewWidget)
        if wdg is not None:
            wdg.updatePreview()
예제 #14
0
 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)
예제 #15
0
 def printPreview(self):
     printer = QPrinter(QPrinter.HighResolution)
     previewDialog = QPrintPreviewDialog(printer, self)
     previewDialog.paintRequested.connect(self.preview)
     previewDialog.exec()
예제 #16
0
 def kagidadok(self):
     diyalog = QPrintPreviewDialog()
     diyalog.paintRequested.connect(self.ciktial)
     diyalog.exec()
예제 #17
0
 def handle_preview(self):
     preview = QPrintPreviewDialog()
     preview.paintRequested.connect(self.handle_paint)
     preview.exec()