pyqt5 打印html文件,【原创】python3+PyQt5 实现文档打印功能

本文介绍了如何使用Python3和PyQt5实现文档打印功能,包括三种方法:1) 使用HTML和QTextDocument,2) 使用QTextCursor和QTextDocument,3) 使用QPainter。通过QPainter可以对输出有更精细的控制。
摘要由CSDN通过智能技术生成

本文通过Python3+PyQt5实现《python Qt Gui 快速编程》这本书13章文档打印功能。本文共通过三种方式:

1,使用HTML和QTextDOcument打印文档

2,使用QTextCusor和QTextDocument打印文档

3,使用QPainter打印文档

使用Qpainter打印文档比QTextDocument需要更操心和复杂的计算,但是QPainter确实能够对输出赋予完全控制。

#!/usr/bin/env python3

import math

import sys

import html

from PyQt5.QtPrintSupport import QPrinter,QPrintDialog

from PyQt5.QtCore import (QDate, QRectF, Qt)

from PyQt5.QtWidgets import (QApplication,QDialog,

QHBoxLayout,QPushButton, QTableWidget, QTableWidgetItem,QVBoxLayout)

from PyQt5.QtGui import (QFont,QFontMetrics,QPainter,QTextCharFormat,

QTextCursor, QTextDocument, QTextFormat,

QTextOption, QTextTableFormat,

QPixmap,QTextBlockFormat)

import qrc_resources

from PyQt5.QtPrintSupport import QPrinter,QPrintDialog

from PyQt5.QtCore import (QDate, QRectF, Qt)

from PyQt5.QtWidgets import (QApplication,QDialog,

QHBoxLayout,QPushButton, QTableWidget, QTableWidgetItem,QVBoxLayout)

from PyQt5.QtGui import (QFont,QFontMetrics,QPainter,QTextCharFormat,

QTextCursor, QTextDocument, QTextFormat,

QTextOption, QTextTableFormat,

QPixmap,QTextBlockFormat)

import qrc_resources

DATE_FORMAT = "MMM d, yyyy"

class Statement(object):

def __init__(self, company, contact, address):

self.company = company

self.contact = contact

self.address = address

self.transactions = [] # List of (QDate, float) two-tuples

def balance(self):

return sum([amount for date, amount in self.transactions])

class Form(QDialog):

def __init__(self, parent=None):

super(Form, self).__init__(parent)

self.printer = QPrinter()

self.printer.setPageSize(QPrinter.Letter)

self.generateFakeStatements()

self.table = QTableWidget()

self.populateTable()

cursorButton = QPushButton("Print via Q&Cursor")

htmlButton = QPushButton("Print via &HTML")

painterButton = QPushButton("Print via Q&Painter")

quitButton = QPushButton("&Quit")

buttonLayout = QHBoxLayout()

buttonLayout.addWidget(cursorButton)

buttonLayout.addWidget(htmlButton)

buttonLayout.addWidget(painterButton)

buttonLayout.addStretch()

buttonLayout.addWidget(quitButton)

layout = QVBoxLayout()

layout.addWidget(self.table)

layout.addLayout(buttonLayout)

self.setLayout(layout)

cursorButton.clicked.connect(self.printViaQCursor)

htmlButton.clicked.connect(self.printViaHtml)

painterButton.clicked.connect(self.printViaQPainter)

quitButton.clicked.connect(self.accept)

self.setWindowTitle("Printing")

def generateFakeStatements(self):

self.statements = []

statement = Statement("Consality", "Ms S. Royal",

"234 Rue Saint Hyacinthe, 750201, Paris")

statement.transactions.append((QDate(2007, 8, 11), 2342))

statement.transactions.append((QDate(2007, 9, 10), 2342))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python3和PyCharm是开发Python项目的常用工具,而PyQt5Python的一个GUI库。搭建Python3、PyCharm和PyQt5的环境可以让我们更方便地开发和运行Python GUI应用程序。 下面是Python3、PyCharm和PyQt5环境搭建的步骤图文详解: 第一步:下载和安装Python3。在Python官网(https://www.python.org/downloads/)下载最新版本的Python3,并按照安装向导进行安装。 第二步:下载和安装PyCharm。在JetBrains官网(https://www.jetbrains.com/pycharm/download/)下载最新版本的PyCharm,选择适合自己操作系统的版本,并按照安装向导进行安装。 第三步:打开PyCharm,创建一个新的Python项目。选择“Create New Project”,填写项目名称和项目路径,点击“Create”。 第四步:在PyCharm中配置Python解释器。点击“File”->“Settings”,在弹出的设置对话框中选择“Project: 项目名称”->“Project Interpreter”。点击右侧的“Python Interpreter”下拉框,选择已经安装的Python3解释器,点击“OK”。 第五步:安装PyQt5库。点击“File”->“Settings”,在弹出的设置对话框中选择“Project: 项目名称”->“Project Interpreter”。点击右侧的加号按钮,在弹出的对话框中搜索并选择“PyQt5”,点击“Install Package”按钮进行安装。 第六步:编写Python代码并运行。在PyCharm中创建一个新的Python文件,导入PyQt5库,编写GUI应用程序的代码。点击运行按钮或使用快捷键运行程序。 通过以上步骤,我们已经成功搭建了Python3、PyCharm和PyQt5的环境,并可以开始开发和运行Python GUI应用程序了。 希望以上内容对您有所帮助!如有任何疑问,请随时提问。 ### 回答2: Python3 Pycharm PyQt5环境搭建步骤图文详解: 第一步:安装Python3Python官方网站上下载Python3的安装包,并进行安装。安装过程中记得勾选“Add Python3.x to PATH”选项,这样可以将Python3添加到系统环境变量中。 第二步:安装Pycharm 在JetBrains官方网站上下载Pycharm的安装包,并进行安装。安装过程中可以选择社区版或专业版,选择一个适合自己的版本。 第三步:创建项目 打开Pycharm,点击“Create New Project”按钮创建一个新的项目。选择合适的项目存放路径,然后点击“Create”按钮。 第四步:配置编译器 在新建的项目中,点击“File”菜单,选择“Settings”选项打开设置窗口。在设置窗口中选择“Project Interpreter”,然后点击右侧的“Create”按钮。 第五步:安装PyQt5 在创建新的虚拟环境时,可以选择“New Environment”或者“Existing Environment”选项。如果选择“New Environment”,则需要选择Python解释器的路径;如果选择“Existing Environment”,则需要选择已有的Python解释器。 接下来,在“Project Interpreter”设置的窗口中点击右上方的“+”按钮,在搜索框中输入“PyQt5”,然后点击下方的“Install Package”按钮进行安装。 第六步:编写代码 安装完PyQt5后,在Pycharm中根据自己的需求开始编写代码。可以参考PyQt5的官方文档和示例代码,进行学习和实践。 以上就是Python3 Pycharm PyQt5环境搭建的步骤图文详解。希望对您有帮助! ### 回答3: python3 pycharm pyqt5环境搭建步骤图文详解: 1. 首先,确保你已经安装了Python3和PyCharm。可以从Python官方网站(https://www.python.org/downloads/)下载Python3,并从JetBrains官方网站(https://www.jetbrains.com/pycharm/download/)下载和安装PyCharm。 2. 打开PyCharm,点击“Create New Project”来创建一个新的项目。 3. 在弹出的对话框中,选择一个位置来存储你的项目文件,并为项目起一个名字。 4. 在项目创建完毕后,打开PyCharm的设置(Preferences)窗口,选择“Project Interpreter”。 5. 在Project Interpreter窗口的右上角,点击齿轮图标,选择“Add”。 6. 在弹出的对话框中,选择“System Interpreter”,然后点击右边的“…”按钮。 7. 在选择解释器对话框中,选择你电脑上已安装的Python3解释器,并点击“OK”。 8. 在Project Interpreter窗口中,点击右下角的“+”按钮。 9. 在弹出的对话框中,搜索并选择需要安装的第三方库,比如PyQt5,然后点击“Install”按钮。 10. PyCharm会自动下载并安装你选择的第三方库。安装完成后,点击“OK”关闭Project Interpreter窗口。 11. 现在,你已经成功搭建了Python3、PyCharm和PyQt5的开发环境。 总结:要搭建Python3、PyCharm和PyQt5的开发环境,你需要先安装Python3和PyCharm,然后在PyCharm的设置中添加Python解释器,并安装需要的第三方库,如PyQt5。这样,你就可以开始使用PyCharm进行PythonPyQt5的开发了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值