本文整理汇总了Python中PyQt5.QtPrintSupport.QPrintPreviewDialog.printer方法的典型用法代码示例。如果您正苦于以下问题:Python QPrintPreviewDialog.printer方法的具体用法?Python QPrintPreviewDialog.printer怎么用?Python QPrintPreviewDialog.printer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtPrintSupport.QPrintPreviewDialog
的用法示例。
在下文中一共展示了QPrintPreviewDialog.printer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: printpage
# 需要导入模块: from PyQt5.QtPrintSupport import QPrintPreviewDialog [as 别名]
# 或者: from PyQt5.QtPrintSupport.QPrintPreviewDialog import printer [as 别名]
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: HtmlView
# 需要导入模块: from PyQt5.QtPrintSupport import QPrintPreviewDialog [as 别名]
# 或者: from PyQt5.QtPrintSupport.QPrintPreviewDialog import printer [as 别名]
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()