首页 > 解决方案 > 从 QtextEdit pyside2 导出 pdf。打印按钮有效,但 pdf 未保存在我的计算机中,它是空白的

问题描述

import sys
import platform
from PySide2 import QtCore, QtGui, QtWidgets
from PySide2.QtCore import (QCoreApplication, QPropertyAnimation, QDate, QDateTime, QMetaObject, QPoint, QRect, QSize,QTime, QUrl, QEvent)
from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QFont, QFontDatabase, QIcon, QKeySequence, QLinearGradient, QPainter, QPixmap, QRadialGradient)
from PySide2.QtWidgets import *
from PySide2.QtCore import QFileInfo
from PySide2.QtPrintSupport import QPrinter

from ui_interface import Ui_MainWindow


class MainWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.start_btn.clicked.connect(lambda: self.ui.textEdit.setText("Hello World"))
        self.ui.printbutton.clicked.connect(lambda: self.SavetoPDF())
        self.show()

    def SavetoPDF(self):
        filename = QFileDialog.getSaveFileName(self, 'Save to PDF', None, 'PDF files(.pdf);; All Files')
        if filename != "":
            if QFileInfo(filename).suffix() == "": filename += '.pdf'
            printer = QPrinter(QPrinter.HighResolution)
            printer.setOutputFormat(QPrinter.PdfFormat)
            printer.setOutputFileName(filename)
            print(self.ui.textEdit.document())


if __name__ == '__main__':
    app = QApplication(sys.argv)`
    window = MainWindow()
    sys.exit(app.exec_())   

标签: pythonpyside2qprinter

解决方案


推荐阅读