老师原课件下载地址:
有积分的朋友,支持下我,打赏也OK。
不下载也可以,我每节课会吧代码贴出来
视频链接
课程重点
如果连接了打印机,会直接从打印机输出内容,请谨慎操作
代码位置
完整代码
'''
使用打印机
'''
from PyQt5 import QtGui, QtWidgets, QtPrintSupport
from PyQt5.QtWidgets import *
import sys
class PrintSupport(QMainWindow):
def __init__(self):
super(PrintSupport,self).__init__()
self.setGeometry(500, 200, 300, 300)
self.button = QPushButton('打印QTextEdit控件中的内容',self)
self.button.setGeometry(20,20,260,30)
self.editor = QTextEdit('默认文本',self)
self.editor.setGeometry(20,60,260,200)
self.button.clicked.connect(self.print)
def print(self):
printer = QtPrintSupport.QPrinter()
painter = QtGui.QPainter()
# 将绘制的目标重定向到打印机
painter.begin(printer)
screen = self.editor.grab()
painter.drawPixmap(10,10,screen)
painter.end()
print("print")
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
gui = PrintSupport()
gui.show()
app.exec_()
遇到的问题
注意控件名称对应
改写效果展示
改写注意点
默认文本的设置位置,不用修改html
改写注意点:
改写代码(QTdesigner模式)
# -*- coding:utf-8 -*-
'''
@Author: knocky
@Blog: https://blog.csdn.net/zzx188891020
@E-mail: 188891020@qq.com
@File: class62.py
@CreateTime: 2020/5/29 0:17
'''
import sys
from PyQt5.QtWidgets import QApplication,QMainWindow
from PyQt5 import uic, QtPrintSupport
from PyQt5.QtGui import *
class my_form(QMainWindow):
def __init__(self):
super().__init__()
uic.loadUi('../ui_package/class62.ui', self)
self.pushButton.clicked.connect(self.print)
def print(self):
printer = QtPrintSupport.QPrinter() # 这里貌似是驱动或者配置?
painter = QPainter() #这肯定就是打印机类模块了
# 将绘制的目标重定向到打印机
painter.begin(printer)
screen = self.textEdit.grab()
painter.drawPixmap(10,10,screen)
painter.end()
print("print")
if __name__ == '__main__':
app = QApplication(sys.argv)
main = my_form()
main.show()
sys.exit(app.exec_())