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())