15.1 QPrinter打印功能创建流程

一、 QPrinter打印功能创建流程

1.基本概念

2.代码

点击查看代码
from PyQt5.Qt import *
import sys


class Window(QWidget) :
    def __init__(self) :
        super().__init__()
        self.setWindowTitle("QPrinter打印控件 - PyQt5中文网")
        self.resize(600, 500)
        self.func_list()

    def func_list(self) :
        self.func()

    def func(self) :
        self.btn = QPushButton('打印', self)
        self.editor = QTextEdit('QPrinter打印控件QPrinter打印控件', self)
        self.btn.move(200, 10)
        self.btn.resize(50, 30)
        self.editor.move(50, 50)
        self.editor.resize(300, 250)

        self.btn.clicked.connect(self.print)
    # 打印的槽函数
    def print(self) :
        # 创建一个打印机对象
        printer = QPrinter()
        # 创建一个画布
        painter = QPainter()
        # 开始打印
        painter.begin(printer)  # 将画布交给打印机
        screen = self.editor.grab()  # 获得多行文本框中的屏幕界面
        painter.drawPixmap(0, 10, screen)  # 从屏幕界面截取打印区域
        # 结束打印
        painter.end()
        print('打印结束')


if __name__ == '__main__' :
    app = QApplication(sys.argv)
    window = Window()

    window.show()
    sys.exit(app.exec_())

3.效果

posted @   Trouvaille_fighting  阅读(397)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示

目录导航