PySide6 打印(QPrinter)文本编辑器(QPlaintextEdit)内容

PySide6 打印(QPrinter)文本编辑器(QPlaintextEdit)内容

不足之处
  • Linux Gnome上测试不稳定
    Windows 10 稳定使用(可能是调用系统自带的打印机)
代码参考

创建基本打印功能

代码示例
bash 复制代码
# coding = utf-8

from PySide6.QtWidgets import QApplication,QWidget,QPushButton,QVBoxLayout,QPlainTextEdit
from PySide6.QtPrintSupport import QPrintDialog,QPrinter
from PySide6.QtGui import QPagedPaintDevice
import sys

class TestPrint(QWidget):

    def __init__(self):
        super().__init__()
        self.setupUi()
        self.setEventBind()

    def setupUi(self):
        self.setWindowTitle("测试打印")

        vbox = QVBoxLayout(self)

        self.plainTextEdit = QPlainTextEdit()
        self.printButton = QPushButton("打印")

        vbox.addWidget(self.plainTextEdit)
        vbox.addWidget(self.printButton)

    def setEventBind(self):
        self.printButton.clicked.connect(self.getPrintDialog)

    def getPrintDialog(self):
        """
        """
        printer = QPrinter()
        dialog = QPrintDialog(printer)
        if dialog.exec():
            self.plainTextEdit.print_(printer)



if __name__ == "__main__":
    app =QApplication(sys.argv)
    testPrint = TestPrint()
    testPrint.show()
    sys.exit(app.exec())
相关推荐
坐吃山猪2 小时前
Python-UV多环境管理
人工智能·python·uv
带娃的IT创业者3 小时前
从零开始掌握 uv:新一代超快 Python 项目与包管理器(含 Windows 支持)
windows·python·uv
浔川python社3 小时前
浔川 AI 翻译 v7.0正式上线公告
python
Wiktok3 小时前
【WIT】ttkbootstrap全组件中文本地化解决方案
python·ttkbootstrap
熊猫钓鱼>_>3 小时前
PySpark全面解析:大数据处理的Python利器
开发语言·python
梦终剧3 小时前
【Android之路】UI消息循环机制
android·ui
王嘉俊9253 小时前
Django 入门:快速构建 Python Web 应用的强大框架
前端·后端·python·django·web·开发·入门
小丁爱养花4 小时前
接口自动化测试 - pytest [1]
python·自动化·pytest
xiaopengbc4 小时前
泛型在Java集合框架中的应用有哪些?
java·开发语言·python